uneeq-js 3.18.0 → 3.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"622.index.js","mappings":"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","sources":["webpack://Uneeq/./node_modules/ws/browser.js","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/Supplier.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/json.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/errors/DeepgramError.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/auth/HeaderAuthProvider.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/headers.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/runtime/runtime.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/logging/logger.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/auth/NoOpAuthProvider.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/BaseClient.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/url/qs.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/websocket/events.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/websocket/ws.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/url/join.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/environments.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/HttpResponsePromise.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/EndpointSupplier.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/getResponseBody.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/BinaryResponse.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/getErrorResponseBody.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/getFetchFn.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/Headers.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/makeRequest.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/signals.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/RawResponse.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/requestWithRetries.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/Fetcher.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/createRequestUrl.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/getRequestBody.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/url/QueryStringBuilder.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/errors/DeepgramTimeoutError.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/errors/handleNonStatusCodeError.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/errors/BadRequestError.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/resources/models/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/resources/v1/resources/settings/resources/think/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/resources/v1/resources/settings/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/resources/v1/client/Socket.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/agent/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/auth/resources/v1/resources/tokens/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/auth/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/auth/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/file/file.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/resources/v1/resources/media/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/resources/v1/client/Socket.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/resources/v2/client/Socket.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/resources/v2/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/listen/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/url/encodePathParam.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/models/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/balances/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/breakdown/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/fields/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/resources/purchases/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/billing/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/keys/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/invites/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/resources/scopes/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/members/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/models/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/requests/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/breakdown/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/resources/fields/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/resources/usage/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/resources/projects/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/manage/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/read/resources/v1/resources/text/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/read/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/read/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/selfHosted/resources/v1/resources/distributionCredentials/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/selfHosted/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/selfHosted/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/speak/resources/v1/resources/audio/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/speak/resources/v1/client/Socket.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/speak/resources/v1/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/speak/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/voiceAgent/resources/configurations/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/voiceAgent/resources/variables/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/api/resources/voiceAgent/client/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/core/fetcher/makePassthroughRequest.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/Client.mjs","webpack://Uneeq/./node_modules/@deepgram/sdk/dist/esm/CustomClient.mjs"],"sourcesContent":["'use strict';\n\nmodule.exports = function () {\n throw new Error(\n 'ws does not work in the browser. Browser clients must use the native ' +\n 'WebSocket object'\n );\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport const Supplier = {\n get: (supplier) => __awaiter(void 0, void 0, void 0, function* () {\n if (typeof supplier === \"function\") {\n return supplier();\n }\n else {\n return supplier;\n }\n }),\n};\n","/**\n * Serialize a value to JSON\n * @param value A JavaScript value, usually an object or array, to be converted.\n * @param replacer A function that transforms the results.\n * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read.\n * @returns JSON string\n */\nexport const toJson = (value, replacer, space) => {\n return JSON.stringify(value, replacer, space);\n};\n/**\n * Parse JSON string to object, array, or other type\n * @param text A valid JSON string.\n * @param reviver A function that transforms the results. This function is called for each member of the object. If a member contains nested objects, the nested objects are transformed before the parent object is.\n * @returns Parsed object, array, or other type\n */\nexport function fromJson(text, reviver) {\n return JSON.parse(text, reviver);\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { toJson } from \"../core/json.mjs\";\nexport class DeepgramError extends Error {\n constructor({ message, statusCode, body, rawResponse, cause, }) {\n super(buildMessage({ message, statusCode, body }));\n Object.setPrototypeOf(this, new.target.prototype);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = this.constructor.name;\n this.statusCode = statusCode;\n this.body = body;\n this.rawResponse = rawResponse;\n if (cause != null) {\n this.cause = cause;\n }\n }\n}\nfunction buildMessage({ message, statusCode, body, }) {\n const lines = [];\n if (message != null) {\n lines.push(message);\n }\n if (statusCode != null) {\n lines.push(`Status code: ${statusCode.toString()}`);\n }\n if (body != null) {\n lines.push(`Body: ${toJson(body, undefined, 2)}`);\n }\n return lines.join(\"\\n\");\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as core from \"../core/index.mjs\";\nimport * as errors from \"../errors/index.mjs\";\nconst PARAM_KEY = \"apiKey\";\nconst ENV_HEADER_KEY = \"DEEPGRAM_API_KEY\";\nconst HEADER_NAME = \"Authorization\";\nexport class HeaderAuthProvider {\n constructor(options) {\n this.options = options;\n }\n static canCreate(options) {\n var _a;\n return (options === null || options === void 0 ? void 0 : options[PARAM_KEY]) != null || ((_a = process.env) === null || _a === void 0 ? void 0 : _a[ENV_HEADER_KEY]) != null;\n }\n getAuthRequest() {\n return __awaiter(this, arguments, void 0, function* ({ endpointMetadata, } = {}) {\n var _a, _b;\n const headerValue = (_a = (yield core.Supplier.get(this.options[PARAM_KEY]))) !== null && _a !== void 0 ? _a : (_b = process.env) === null || _b === void 0 ? void 0 : _b[ENV_HEADER_KEY];\n if (headerValue == null) {\n throw new errors.DeepgramError({\n message: HeaderAuthProvider.AUTH_CONFIG_ERROR_MESSAGE,\n });\n }\n return {\n headers: { [HEADER_NAME]: headerValue },\n };\n });\n }\n}\n(function (HeaderAuthProvider) {\n HeaderAuthProvider.AUTH_SCHEME = \"ApiKeyAuth\";\n HeaderAuthProvider.AUTH_CONFIG_ERROR_MESSAGE = `Please provide '${PARAM_KEY}' when initializing the client, or set the '${ENV_HEADER_KEY}' environment variable`;\n function createInstance(options) {\n return new HeaderAuthProvider(options);\n }\n HeaderAuthProvider.createInstance = createInstance;\n})(HeaderAuthProvider || (HeaderAuthProvider = {}));\n","export function mergeHeaders(...headersArray) {\n const result = {};\n for (const [key, value] of headersArray\n .filter((headers) => headers != null)\n .flatMap((headers) => Object.entries(headers))) {\n const insensitiveKey = key.toLowerCase();\n if (value != null) {\n result[insensitiveKey] = value;\n }\n else if (insensitiveKey in result) {\n delete result[insensitiveKey];\n }\n }\n return result;\n}\nexport function mergeOnlyDefinedHeaders(...headersArray) {\n const result = {};\n for (const [key, value] of headersArray\n .filter((headers) => headers != null)\n .flatMap((headers) => Object.entries(headers))) {\n const insensitiveKey = key.toLowerCase();\n if (value != null) {\n result[insensitiveKey] = value;\n }\n }\n return result;\n}\n","/**\n * A constant that indicates which environment and version the SDK is running in.\n */\nexport const RUNTIME = evaluateRuntime();\nfunction evaluateRuntime() {\n var _a, _b, _c, _d, _e;\n /**\n * A constant that indicates whether the environment the code is running is a Web Browser.\n */\n const isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\";\n if (isBrowser) {\n return {\n type: \"browser\",\n version: window.navigator.userAgent,\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is Cloudflare.\n * https://developers.cloudflare.com/workers/runtime-apis/web-standards/#navigatoruseragent\n */\n const isCloudflare = typeof globalThis !== \"undefined\" && ((_a = globalThis === null || globalThis === void 0 ? void 0 : globalThis.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === \"Cloudflare-Workers\";\n if (isCloudflare) {\n return {\n type: \"workerd\",\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is Edge Runtime.\n * https://vercel.com/docs/functions/runtimes/edge-runtime#check-if-you're-running-on-the-edge-runtime\n */\n const isEdgeRuntime = typeof EdgeRuntime === \"string\";\n if (isEdgeRuntime) {\n return {\n type: \"edge-runtime\",\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is a Web Worker.\n */\n const isWebWorker = typeof self === \"object\" &&\n typeof (self === null || self === void 0 ? void 0 : self.importScripts) === \"function\" &&\n (((_b = self.constructor) === null || _b === void 0 ? void 0 : _b.name) === \"DedicatedWorkerGlobalScope\" ||\n ((_c = self.constructor) === null || _c === void 0 ? void 0 : _c.name) === \"ServiceWorkerGlobalScope\" ||\n ((_d = self.constructor) === null || _d === void 0 ? void 0 : _d.name) === \"SharedWorkerGlobalScope\");\n if (isWebWorker) {\n return {\n type: \"web-worker\",\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is Deno.\n * FYI Deno spoofs process.versions.node, see https://deno.land/std@0.177.0/node/process.ts?s=versions\n */\n const isDeno = typeof Deno !== \"undefined\" && typeof Deno.version !== \"undefined\" && typeof Deno.version.deno !== \"undefined\";\n if (isDeno) {\n return {\n type: \"deno\",\n version: Deno.version.deno,\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is Bun.sh.\n */\n const isBun = typeof Bun !== \"undefined\" && typeof Bun.version !== \"undefined\";\n if (isBun) {\n return {\n type: \"bun\",\n version: Bun.version,\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is in React-Native.\n * This check should come before Node.js detection since React Native may have a process polyfill.\n * https://github.com/facebook/react-native/blob/main/packages/react-native/Libraries/Core/setUpNavigator.js\n */\n const isReactNative = typeof navigator !== \"undefined\" && (navigator === null || navigator === void 0 ? void 0 : navigator.product) === \"ReactNative\";\n if (isReactNative) {\n return {\n type: \"react-native\",\n };\n }\n /**\n * A constant that indicates whether the environment the code is running is Node.JS.\n *\n * We assign `process` to a local variable first to avoid being flagged by\n * bundlers that perform static analysis on `process.versions` (e.g. Next.js\n * Edge Runtime warns about Node.js APIs even when they are guarded).\n */\n const _process = typeof process !== \"undefined\" ? process : undefined;\n const isNode = typeof _process !== \"undefined\" && typeof ((_e = _process.versions) === null || _e === void 0 ? void 0 : _e.node) === \"string\";\n if (isNode) {\n return {\n type: \"node\",\n version: _process.versions.node,\n parsedVersion: Number(_process.versions.node.split(\".\")[0]),\n };\n }\n return {\n type: \"unknown\",\n };\n}\n","export const LogLevel = {\n Debug: \"debug\",\n Info: \"info\",\n Warn: \"warn\",\n Error: \"error\",\n};\nconst logLevelMap = {\n [LogLevel.Debug]: 1,\n [LogLevel.Info]: 2,\n [LogLevel.Warn]: 3,\n [LogLevel.Error]: 4,\n};\n/**\n * Default console-based logger implementation.\n */\nexport class ConsoleLogger {\n debug(message, ...args) {\n console.debug(message, ...args);\n }\n info(message, ...args) {\n console.info(message, ...args);\n }\n warn(message, ...args) {\n console.warn(message, ...args);\n }\n error(message, ...args) {\n console.error(message, ...args);\n }\n}\n/**\n * Logger class that provides level-based logging functionality.\n */\nexport class Logger {\n /**\n * Creates a new logger instance.\n * @param config - Logger configuration\n */\n constructor(config) {\n this.level = logLevelMap[config.level];\n this.logger = config.logger;\n this.silent = config.silent;\n }\n /**\n * Checks if a log level should be output based on configuration.\n * @param level - The log level to check\n * @returns True if the level should be logged\n */\n shouldLog(level) {\n return !this.silent && this.level <= logLevelMap[level];\n }\n /**\n * Checks if debug logging is enabled.\n * @returns True if debug logs should be output\n */\n isDebug() {\n return this.shouldLog(LogLevel.Debug);\n }\n /**\n * Logs a debug message if debug logging is enabled.\n * @param message - The message to log\n * @param args - Additional arguments to log\n */\n debug(message, ...args) {\n if (this.isDebug()) {\n this.logger.debug(message, ...args);\n }\n }\n /**\n * Checks if info logging is enabled.\n * @returns True if info logs should be output\n */\n isInfo() {\n return this.shouldLog(LogLevel.Info);\n }\n /**\n * Logs an info message if info logging is enabled.\n * @param message - The message to log\n * @param args - Additional arguments to log\n */\n info(message, ...args) {\n if (this.isInfo()) {\n this.logger.info(message, ...args);\n }\n }\n /**\n * Checks if warning logging is enabled.\n * @returns True if warning logs should be output\n */\n isWarn() {\n return this.shouldLog(LogLevel.Warn);\n }\n /**\n * Logs a warning message if warning logging is enabled.\n * @param message - The message to log\n * @param args - Additional arguments to log\n */\n warn(message, ...args) {\n if (this.isWarn()) {\n this.logger.warn(message, ...args);\n }\n }\n /**\n * Checks if error logging is enabled.\n * @returns True if error logs should be output\n */\n isError() {\n return this.shouldLog(LogLevel.Error);\n }\n /**\n * Logs an error message if error logging is enabled.\n * @param message - The message to log\n * @param args - Additional arguments to log\n */\n error(message, ...args) {\n if (this.isError()) {\n this.logger.error(message, ...args);\n }\n }\n}\nexport function createLogger(config) {\n var _a, _b, _c;\n if (config == null) {\n return defaultLogger;\n }\n if (config instanceof Logger) {\n return config;\n }\n config = config !== null && config !== void 0 ? config : {};\n (_a = config.level) !== null && _a !== void 0 ? _a : (config.level = LogLevel.Info);\n (_b = config.logger) !== null && _b !== void 0 ? _b : (config.logger = new ConsoleLogger());\n (_c = config.silent) !== null && _c !== void 0 ? _c : (config.silent = true);\n return new Logger(config);\n}\nconst defaultLogger = new Logger({\n level: LogLevel.Info,\n logger: new ConsoleLogger(),\n silent: true,\n});\n","export class NoOpAuthProvider {\n getAuthRequest() {\n return Promise.resolve({ headers: {} });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { HeaderAuthProvider } from \"./auth/HeaderAuthProvider.mjs\";\nimport { mergeHeaders } from \"./core/headers.mjs\";\nimport * as core from \"./core/index.mjs\";\nexport function normalizeClientOptions(options) {\n const headers = mergeHeaders({\n \"X-Fern-Language\": \"JavaScript\",\n \"X-Fern-SDK-Name\": \"@deepgram/sdk\",\n \"X-Fern-SDK-Version\": \"5.2.1\",\n \"User-Agent\": \"@deepgram/sdk/5.2.1\",\n \"X-Fern-Runtime\": core.RUNTIME.type,\n \"X-Fern-Runtime-Version\": core.RUNTIME.version,\n }, options === null || options === void 0 ? void 0 : options.headers);\n return Object.assign(Object.assign({}, options), { logging: core.logging.createLogger(options === null || options === void 0 ? void 0 : options.logging), headers });\n}\nexport function normalizeClientOptionsWithAuth(options) {\n var _a;\n const normalized = normalizeClientOptions(options);\n const normalizedWithNoOpAuthProvider = withNoOpAuthProvider(normalized);\n (_a = normalized.authProvider) !== null && _a !== void 0 ? _a : (normalized.authProvider = new HeaderAuthProvider(normalizedWithNoOpAuthProvider));\n return normalized;\n}\nfunction withNoOpAuthProvider(options) {\n return Object.assign(Object.assign({}, options), { authProvider: new core.NoOpAuthProvider() });\n}\n","const defaultQsOptions = {\n arrayFormat: \"indices\",\n encode: true,\n};\nfunction encodeValue(value, shouldEncode) {\n if (value === undefined) {\n return \"\";\n }\n if (value === null) {\n return \"\";\n }\n const stringValue = String(value);\n return shouldEncode ? encodeURIComponent(stringValue) : stringValue;\n}\nfunction stringifyObject(obj, prefix = \"\", options) {\n const parts = [];\n for (const [key, value] of Object.entries(obj)) {\n const fullKey = prefix ? `${prefix}[${key}]` : key;\n if (value === undefined) {\n continue;\n }\n if (Array.isArray(value)) {\n if (value.length === 0) {\n continue;\n }\n const effectiveFormat = options.arrayFormat;\n if (effectiveFormat === \"comma\") {\n const encodedKey = options.encode ? encodeURIComponent(fullKey) : fullKey;\n const encodedValues = value\n .filter((item) => item !== undefined && item !== null)\n .map((item) => encodeValue(item, options.encode));\n if (encodedValues.length > 0) {\n parts.push(`${encodedKey}=${encodedValues.join(\",\")}`);\n }\n }\n else {\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n if (item === undefined) {\n continue;\n }\n if (typeof item === \"object\" && !Array.isArray(item) && item !== null) {\n const arrayKey = effectiveFormat === \"indices\" ? `${fullKey}[${i}]` : fullKey;\n parts.push(...stringifyObject(item, arrayKey, options));\n }\n else {\n const arrayKey = effectiveFormat === \"indices\" ? `${fullKey}[${i}]` : fullKey;\n const encodedKey = options.encode ? encodeURIComponent(arrayKey) : arrayKey;\n parts.push(`${encodedKey}=${encodeValue(item, options.encode)}`);\n }\n }\n }\n }\n else if (typeof value === \"object\" && value !== null) {\n if (Object.keys(value).length === 0) {\n continue;\n }\n parts.push(...stringifyObject(value, fullKey, options));\n }\n else {\n const encodedKey = options.encode ? encodeURIComponent(fullKey) : fullKey;\n parts.push(`${encodedKey}=${encodeValue(value, options.encode)}`);\n }\n }\n return parts;\n}\nexport function toQueryString(obj, options) {\n if (obj == null || typeof obj !== \"object\") {\n return \"\";\n }\n const parts = stringifyObject(obj, \"\", Object.assign(Object.assign({}, defaultQsOptions), options));\n return parts.join(\"&\");\n}\n","export class Event {\n constructor(type, target) {\n this.target = target;\n this.type = type;\n }\n}\nexport class ErrorEvent extends Event {\n constructor(error, target) {\n super(\"error\", target);\n this.message = error.message;\n this.error = error;\n }\n}\nexport class CloseEvent extends Event {\n constructor(code = 1000, reason = \"\", target) {\n super(\"close\", target);\n this.wasClean = true;\n this.code = code;\n this.reason = reason;\n }\n}\n","import { WebSocket as NodeWebSocket } from \"ws\";\nimport { RUNTIME } from \"../runtime/index.mjs\";\nimport { toQueryString } from \"../url/qs.mjs\";\nimport * as Events from \"./events.mjs\";\nconst getGlobalWebSocket = () => {\n if (RUNTIME.type === \"node\" || RUNTIME.type === \"bun\" || RUNTIME.type === \"deno\") {\n return NodeWebSocket;\n }\n else if (typeof WebSocket !== \"undefined\") {\n // @ts-ignore\n return WebSocket;\n }\n return undefined;\n};\n/**\n * Returns true if given argument looks like a WebSocket class\n */\nconst isWebSocket = (w) => typeof w !== \"undefined\" && !!w && w.CLOSING === 2;\nconst DEFAULT_OPTIONS = {\n maxReconnectionDelay: 10000,\n minReconnectionDelay: 1000 + Math.random() * 4000,\n minUptime: 5000,\n reconnectionDelayGrowFactor: 1.3,\n connectionTimeout: 4000,\n maxRetries: Infinity,\n maxEnqueuedMessages: Infinity,\n startClosed: false,\n debug: false,\n};\nexport class ReconnectingWebSocket {\n constructor({ url, protocols, options, headers, queryParameters, abortSignal }) {\n this._listeners = {\n error: [],\n message: [],\n open: [],\n close: [],\n };\n this._retryCount = -1;\n this._shouldReconnect = true;\n this._connectLock = false;\n this._binaryType = \"blob\";\n this._closeCalled = false;\n this._messageQueue = [];\n this.CONNECTING = ReconnectingWebSocket.CONNECTING;\n this.OPEN = ReconnectingWebSocket.OPEN;\n this.CLOSING = ReconnectingWebSocket.CLOSING;\n this.CLOSED = ReconnectingWebSocket.CLOSED;\n /**\n * An event listener to be called when the WebSocket connection's readyState changes to CLOSED\n */\n this.onclose = null;\n /**\n * An event listener to be called when an error occurs\n */\n this.onerror = null;\n /**\n * An event listener to be called when a message is received from the server\n */\n this.onmessage = null;\n /**\n * An event listener to be called when the WebSocket connection's readyState changes to OPEN;\n * this indicates that the connection is ready to send and receive data\n */\n this.onopen = null;\n this._handleAbort = () => {\n if (this._closeCalled) {\n return;\n }\n this._debug(\"abort signal fired\");\n this._shouldReconnect = false;\n this._closeCalled = true;\n this._clearTimeouts();\n if (this._ws) {\n this._removeListeners();\n // Absorb async errors emitted by ws when closing during CONNECTING state\n this._ws.addEventListener(\"error\", () => { });\n try {\n this._ws.close(1000, \"aborted\");\n this._handleClose(new Events.CloseEvent(1000, \"aborted\", this));\n }\n catch (_error) {\n // ignore\n }\n }\n };\n this._handleOpen = (event) => {\n this._debug(\"open event\");\n const { minUptime = DEFAULT_OPTIONS.minUptime } = this._options;\n clearTimeout(this._connectTimeout);\n this._uptimeTimeout = setTimeout(() => this._acceptOpen(), minUptime);\n this._ws.binaryType = this._binaryType;\n // send enqueued messages (messages sent before websocket open event)\n this._messageQueue.forEach((message) => { var _a; return (_a = this._ws) === null || _a === void 0 ? void 0 : _a.send(message); });\n this._messageQueue = [];\n if (this.onopen) {\n this.onopen(event);\n }\n this._listeners.open.forEach((listener) => this._callEventListener(event, listener));\n };\n this._handleMessage = (event) => {\n this._debug(\"message event\");\n if (this.onmessage) {\n this.onmessage(event);\n }\n this._listeners.message.forEach((listener) => this._callEventListener(event, listener));\n };\n this._handleError = (event) => {\n this._debug(\"error event\", event.message);\n this._disconnect(undefined, event.message === \"TIMEOUT\" ? \"timeout\" : undefined);\n if (this.onerror) {\n this.onerror(event);\n }\n this._debug(\"exec error listeners\");\n this._listeners.error.forEach((listener) => this._callEventListener(event, listener));\n this._connect();\n };\n this._handleClose = (event) => {\n this._debug(\"close event\");\n this._clearTimeouts();\n if (event.code === 1000) {\n this._shouldReconnect = false;\n }\n if (this._shouldReconnect) {\n this._connect();\n }\n if (this.onclose) {\n this.onclose(event);\n }\n this._listeners.close.forEach((listener) => this._callEventListener(event, listener));\n };\n this._url = url;\n this._protocols = protocols;\n this._options = options !== null && options !== void 0 ? options : DEFAULT_OPTIONS;\n this._headers = headers;\n this._queryParameters = queryParameters;\n this._abortSignal = abortSignal;\n if (this._abortSignal) {\n this._abortSignal.addEventListener(\"abort\", this._handleAbort, { once: true });\n }\n if (this._options.startClosed) {\n this._shouldReconnect = false;\n }\n this._connect();\n }\n get binaryType() {\n return this._ws ? this._ws.binaryType : this._binaryType;\n }\n set binaryType(value) {\n this._binaryType = value;\n if (this._ws) {\n this._ws.binaryType = value;\n }\n }\n /**\n * Returns the number or connection retries\n */\n get retryCount() {\n return Math.max(this._retryCount, 0);\n }\n /**\n * The number of bytes of data that have been queued using calls to send() but not yet\n * transmitted to the network. This value resets to zero once all queued data has been sent.\n * This value does not reset to zero when the connection is closed; if you keep calling send(),\n * this will continue to climb. Read only\n */\n get bufferedAmount() {\n const bytes = this._messageQueue.reduce((acc, message) => {\n if (typeof message === \"string\") {\n acc += message.length; // not byte size\n }\n else if (message instanceof Blob) {\n acc += message.size;\n }\n else {\n acc += message.byteLength;\n }\n return acc;\n }, 0);\n return bytes + (this._ws ? this._ws.bufferedAmount : 0);\n }\n /**\n * The extensions selected by the server. This is currently only the empty string or a list of\n * extensions as negotiated by the connection\n */\n get extensions() {\n return this._ws ? this._ws.extensions : \"\";\n }\n /**\n * A string indicating the name of the sub-protocol the server selected;\n * this will be one of the strings specified in the protocols parameter when creating the\n * WebSocket object\n */\n get protocol() {\n return this._ws ? this._ws.protocol : \"\";\n }\n /**\n * The current state of the connection; this is one of the Ready state constants\n */\n get readyState() {\n if (this._ws) {\n return this._ws.readyState;\n }\n return this._options.startClosed\n ? ReconnectingWebSocket.ReadyState.CLOSED\n : ReconnectingWebSocket.ReadyState.CONNECTING;\n }\n /**\n * The URL as resolved by the constructor\n */\n get url() {\n return this._ws ? this._ws.url : \"\";\n }\n /**\n * Closes the WebSocket connection or connection attempt, if any. If the connection is already\n * CLOSED, this method does nothing\n */\n close(code = 1000, reason) {\n this._closeCalled = true;\n this._shouldReconnect = false;\n this._clearTimeouts();\n if (!this._ws) {\n this._debug(\"close enqueued: no ws instance\");\n return;\n }\n if (this._ws.readyState === this.CLOSED) {\n this._debug(\"close: already closed\");\n return;\n }\n this._ws.close(code, reason);\n }\n /**\n * Closes the WebSocket connection or connection attempt and connects again.\n * Resets retry counter;\n */\n reconnect(code, reason) {\n this._shouldReconnect = true;\n this._closeCalled = false;\n this._retryCount = -1;\n if (!this._ws || this._ws.readyState === this.CLOSED) {\n this._connect();\n }\n else {\n this._disconnect(code, reason);\n this._connect();\n }\n }\n /**\n * Enqueue specified data to be transmitted to the server over the WebSocket connection\n */\n send(data) {\n if (this._ws && this._ws.readyState === this.OPEN) {\n this._debug(\"send\", data);\n this._ws.send(data);\n }\n else {\n const { maxEnqueuedMessages = DEFAULT_OPTIONS.maxEnqueuedMessages } = this._options;\n if (this._messageQueue.length < maxEnqueuedMessages) {\n this._debug(\"enqueue\", data);\n this._messageQueue.push(data);\n }\n }\n }\n /**\n * Register an event handler of a specific event type\n */\n addEventListener(type, listener) {\n if (this._listeners[type]) {\n // @ts-ignore\n this._listeners[type].push(listener);\n }\n }\n dispatchEvent(event) {\n const listeners = this._listeners[event.type];\n if (listeners) {\n for (const listener of listeners) {\n this._callEventListener(event, listener);\n }\n }\n return true;\n }\n /**\n * Removes an event listener\n */\n removeEventListener(type, listener) {\n if (this._listeners[type]) {\n // @ts-ignore\n this._listeners[type] = this._listeners[type].filter(\n // @ts-ignore\n (l) => l !== listener);\n }\n }\n _debug(...args) {\n if (this._options.debug) {\n // not using spread because compiled version uses Symbols\n // tslint:disable-next-line\n // biome-ignore lint/suspicious/noConsole: allow console\n console.log.apply(console, [\"RWS>\", ...args]);\n }\n }\n _getNextDelay() {\n const { reconnectionDelayGrowFactor = DEFAULT_OPTIONS.reconnectionDelayGrowFactor, minReconnectionDelay = DEFAULT_OPTIONS.minReconnectionDelay, maxReconnectionDelay = DEFAULT_OPTIONS.maxReconnectionDelay, } = this._options;\n let delay = 0;\n if (this._retryCount > 0) {\n delay = minReconnectionDelay * Math.pow(reconnectionDelayGrowFactor, (this._retryCount - 1));\n if (delay > maxReconnectionDelay) {\n delay = maxReconnectionDelay;\n }\n }\n this._debug(\"next delay\", delay);\n return delay;\n }\n _wait() {\n return new Promise((resolve) => {\n setTimeout(resolve, this._getNextDelay());\n });\n }\n _getNextUrl(urlProvider) {\n if (typeof urlProvider === \"string\") {\n return Promise.resolve(urlProvider);\n }\n if (typeof urlProvider === \"function\") {\n const url = urlProvider();\n if (typeof url === \"string\") {\n return Promise.resolve(url);\n }\n // @ts-ignore redundant check\n if (url.then) {\n return url;\n }\n }\n throw Error(\"Invalid URL\");\n }\n _connect() {\n var _a;\n if (this._connectLock || !this._shouldReconnect) {\n return;\n }\n if ((_a = this._abortSignal) === null || _a === void 0 ? void 0 : _a.aborted) {\n this._debug(\"connect aborted\");\n return;\n }\n this._connectLock = true;\n const { maxRetries = DEFAULT_OPTIONS.maxRetries, connectionTimeout = DEFAULT_OPTIONS.connectionTimeout, WebSocket = getGlobalWebSocket(), } = this._options;\n if (this._retryCount >= maxRetries) {\n this._debug(\"max retries reached\", this._retryCount, \">=\", maxRetries);\n return;\n }\n this._retryCount++;\n this._debug(\"connect\", this._retryCount);\n this._removeListeners();\n if (!isWebSocket(WebSocket)) {\n throw Error(\"No valid WebSocket class provided\");\n }\n this._wait()\n .then(() => this._getNextUrl(this._url))\n .then((url) => {\n var _a;\n if (this._closeCalled || ((_a = this._abortSignal) === null || _a === void 0 ? void 0 : _a.aborted)) {\n this._connectLock = false;\n return;\n }\n const options = {};\n if (this._headers) {\n options.headers = this._headers;\n }\n if (this._queryParameters && Object.keys(this._queryParameters).length > 0) {\n const queryString = toQueryString(this._queryParameters, { arrayFormat: \"repeat\" });\n if (queryString) {\n url = `${url}?${queryString}`;\n }\n }\n this._ws = new WebSocket(url, this._protocols, options);\n this._ws.binaryType = this._binaryType;\n this._connectLock = false;\n this._addListeners();\n this._connectTimeout = setTimeout(() => this._handleTimeout(), connectionTimeout);\n });\n }\n _handleTimeout() {\n this._debug(\"timeout event\");\n this._handleError(new Events.ErrorEvent(Error(\"TIMEOUT\"), this));\n }\n _disconnect(code = 1000, reason) {\n this._clearTimeouts();\n if (!this._ws) {\n return;\n }\n this._removeListeners();\n // Absorb async errors emitted by ws when closing during CONNECTING state\n this._ws.addEventListener(\"error\", () => { });\n try {\n this._ws.close(code, reason);\n this._handleClose(new Events.CloseEvent(code, reason, this));\n }\n catch (_error) {\n // ignore\n }\n }\n _acceptOpen() {\n this._debug(\"accept open\");\n this._retryCount = 0;\n }\n _callEventListener(event, listener) {\n if (\"handleEvent\" in listener) {\n // @ts-ignore\n listener.handleEvent(event);\n }\n else {\n // @ts-ignore\n listener(event);\n }\n }\n _removeListeners() {\n if (!this._ws) {\n return;\n }\n this._debug(\"removeListeners\");\n this._ws.removeEventListener(\"open\", this._handleOpen);\n this._ws.removeEventListener(\"close\", this._handleClose);\n this._ws.removeEventListener(\"message\", this._handleMessage);\n // @ts-ignore\n this._ws.removeEventListener(\"error\", this._handleError);\n }\n _addListeners() {\n if (!this._ws) {\n return;\n }\n this._debug(\"addListeners\");\n this._ws.addEventListener(\"open\", this._handleOpen);\n this._ws.addEventListener(\"close\", this._handleClose);\n this._ws.addEventListener(\"message\", this._handleMessage);\n // @ts-ignore\n this._ws.addEventListener(\"error\", this._handleError);\n }\n _clearTimeouts() {\n clearTimeout(this._connectTimeout);\n clearTimeout(this._uptimeTimeout);\n }\n}\nReconnectingWebSocket.CONNECTING = 0;\nReconnectingWebSocket.OPEN = 1;\nReconnectingWebSocket.CLOSING = 2;\nReconnectingWebSocket.CLOSED = 3;\n(function (ReconnectingWebSocket) {\n ReconnectingWebSocket.ReadyState = {\n CONNECTING: 0,\n OPEN: 1,\n CLOSING: 2,\n CLOSED: 3,\n };\n})(ReconnectingWebSocket || (ReconnectingWebSocket = {}));\n","export function join(base, ...segments) {\n if (!base) {\n return \"\";\n }\n if (segments.length === 0) {\n return base;\n }\n if (base.includes(\"://\")) {\n let url;\n try {\n url = new URL(base);\n }\n catch (_a) {\n return joinPath(base, ...segments);\n }\n const lastSegment = segments[segments.length - 1];\n const shouldPreserveTrailingSlash = lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.endsWith(\"/\");\n for (const segment of segments) {\n const cleanSegment = trimSlashes(segment);\n if (cleanSegment) {\n url.pathname = joinPathSegments(url.pathname, cleanSegment);\n }\n }\n if (shouldPreserveTrailingSlash && !url.pathname.endsWith(\"/\")) {\n url.pathname += \"/\";\n }\n return url.toString();\n }\n return joinPath(base, ...segments);\n}\nfunction joinPath(base, ...segments) {\n if (segments.length === 0) {\n return base;\n }\n let result = base;\n const lastSegment = segments[segments.length - 1];\n const shouldPreserveTrailingSlash = lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.endsWith(\"/\");\n for (const segment of segments) {\n const cleanSegment = trimSlashes(segment);\n if (cleanSegment) {\n result = joinPathSegments(result, cleanSegment);\n }\n }\n if (shouldPreserveTrailingSlash && !result.endsWith(\"/\")) {\n result += \"/\";\n }\n return result;\n}\nfunction joinPathSegments(left, right) {\n if (left.endsWith(\"/\")) {\n return left + right;\n }\n return `${left}/${right}`;\n}\nfunction trimSlashes(str) {\n if (!str)\n return str;\n let start = 0;\n let end = str.length;\n if (str.startsWith(\"/\"))\n start = 1;\n if (str.endsWith(\"/\"))\n end = str.length - 1;\n return start === 0 && end === str.length ? str : str.slice(start, end);\n}\n","// This file was auto-generated by Fern from our API Definition.\nexport const DeepgramEnvironment = {\n Production: {\n base: \"https://api.deepgram.com\",\n production: \"wss://api.deepgram.com\",\n agent: \"wss://agent.deepgram.com\",\n agentRest: \"https://agent.deepgram.com\",\n },\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n/**\n * A promise that returns the parsed response and lets you retrieve the raw response too.\n */\nexport class HttpResponsePromise extends Promise {\n constructor(promise) {\n // Initialize with a no-op to avoid premature parsing\n super((resolve) => {\n resolve(undefined);\n });\n this.innerPromise = promise;\n }\n /**\n * Creates an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @param args - Arguments to pass to the function.\n * @returns An `HttpResponsePromise` instance.\n */\n static fromFunction(fn, ...args) {\n return new HttpResponsePromise(fn(...args));\n }\n /**\n * Creates a function that returns an `HttpResponsePromise` from a function that returns a promise.\n *\n * @param fn - A function that returns a promise resolving to a `WithRawResponse` object.\n * @returns A function that returns an `HttpResponsePromise` instance.\n */\n static interceptFunction(fn) {\n return (...args) => {\n return HttpResponsePromise.fromPromise(fn(...args));\n };\n }\n /**\n * Creates an `HttpResponsePromise` from an existing promise.\n *\n * @param promise - A promise resolving to a `WithRawResponse` object.\n * @returns An `HttpResponsePromise` instance.\n */\n static fromPromise(promise) {\n return new HttpResponsePromise(promise);\n }\n /**\n * Creates an `HttpResponsePromise` from an executor function.\n *\n * @param executor - A function that takes resolve and reject callbacks to create a promise.\n * @returns An `HttpResponsePromise` instance.\n */\n static fromExecutor(executor) {\n const promise = new Promise(executor);\n return new HttpResponsePromise(promise);\n }\n /**\n * Creates an `HttpResponsePromise` from a resolved result.\n *\n * @param result - A `WithRawResponse` object to resolve immediately.\n * @returns An `HttpResponsePromise` instance.\n */\n static fromResult(result) {\n const promise = Promise.resolve(result);\n return new HttpResponsePromise(promise);\n }\n unwrap() {\n if (!this.unwrappedPromise) {\n this.unwrappedPromise = this.innerPromise.then(({ data }) => data);\n }\n return this.unwrappedPromise;\n }\n /** @inheritdoc */\n then(onfulfilled, onrejected) {\n return this.unwrap().then(onfulfilled, onrejected);\n }\n /** @inheritdoc */\n catch(onrejected) {\n return this.unwrap().catch(onrejected);\n }\n /** @inheritdoc */\n finally(onfinally) {\n return this.unwrap().finally(onfinally);\n }\n /**\n * Retrieves the data and raw response.\n *\n * @returns A promise resolving to a `WithRawResponse` object.\n */\n withRawResponse() {\n return __awaiter(this, void 0, void 0, function* () {\n return yield this.innerPromise;\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport const EndpointSupplier = {\n get: (supplier, arg) => __awaiter(void 0, void 0, void 0, function* () {\n if (typeof supplier === \"function\") {\n return supplier(arg);\n }\n else {\n return supplier;\n }\n }),\n};\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { fromJson } from \"../json.mjs\";\nimport { getBinaryResponse } from \"./BinaryResponse.mjs\";\nexport function getResponseBody(response, responseType) {\n return __awaiter(this, void 0, void 0, function* () {\n switch (responseType) {\n case \"binary-response\":\n return getBinaryResponse(response);\n case \"blob\":\n return yield response.blob();\n case \"arrayBuffer\":\n return yield response.arrayBuffer();\n case \"sse\":\n if (response.body == null) {\n return {\n ok: false,\n error: {\n reason: \"body-is-null\",\n statusCode: response.status,\n },\n };\n }\n return response.body;\n case \"streaming\":\n if (response.body == null) {\n return {\n ok: false,\n error: {\n reason: \"body-is-null\",\n statusCode: response.status,\n },\n };\n }\n return response.body;\n case \"text\":\n return yield response.text();\n }\n // if responseType is \"json\" or not specified, try to parse as JSON\n const text = yield response.text();\n if (text.length > 0) {\n try {\n const responseBody = fromJson(text);\n return responseBody;\n }\n catch (_err) {\n return {\n ok: false,\n error: {\n reason: \"non-json\",\n statusCode: response.status,\n rawBody: text,\n },\n };\n }\n }\n return undefined;\n });\n}\n","export function getBinaryResponse(response) {\n const binaryResponse = {\n get bodyUsed() {\n return response.bodyUsed;\n },\n stream: () => response.body,\n arrayBuffer: response.arrayBuffer.bind(response),\n blob: response.blob.bind(response),\n };\n if (\"bytes\" in response && typeof response.bytes === \"function\") {\n binaryResponse.bytes = response.bytes.bind(response);\n }\n return binaryResponse;\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { fromJson } from \"../json.mjs\";\nimport { getResponseBody } from \"./getResponseBody.mjs\";\nexport function getErrorResponseBody(response) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n let contentType = (_a = response.headers.get(\"Content-Type\")) === null || _a === void 0 ? void 0 : _a.toLowerCase();\n if (contentType == null || contentType.length === 0) {\n return getResponseBody(response);\n }\n if (contentType.indexOf(\";\") !== -1) {\n contentType = (_c = (_b = contentType.split(\";\")[0]) === null || _b === void 0 ? void 0 : _b.trim()) !== null && _c !== void 0 ? _c : \"\";\n }\n switch (contentType) {\n case \"application/hal+json\":\n case \"application/json\":\n case \"application/ld+json\":\n case \"application/problem+json\":\n case \"application/vnd.api+json\":\n case \"text/json\": {\n const text = yield response.text();\n return text.length > 0 ? fromJson(text) : undefined;\n }\n default:\n if (contentType.startsWith(\"application/vnd.\") && contentType.endsWith(\"+json\")) {\n const text = yield response.text();\n return text.length > 0 ? fromJson(text) : undefined;\n }\n // Fallback to plain text if content type is not recognized\n // Even if no body is present, the response will be an empty string\n return yield response.text();\n }\n });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport function getFetchFn() {\n return __awaiter(this, void 0, void 0, function* () {\n return fetch;\n });\n}\n","let Headers;\nif (typeof globalThis.Headers !== \"undefined\") {\n Headers = globalThis.Headers;\n}\nelse {\n Headers = class Headers {\n constructor(init) {\n this.headers = new Map();\n if (init) {\n if (init instanceof Headers) {\n init.forEach((value, key) => this.append(key, value));\n }\n else if (Array.isArray(init)) {\n for (const [key, value] of init) {\n if (typeof key === \"string\" && typeof value === \"string\") {\n this.append(key, value);\n }\n else {\n throw new TypeError(\"Each header entry must be a [string, string] tuple\");\n }\n }\n }\n else {\n for (const [key, value] of Object.entries(init)) {\n if (typeof value === \"string\") {\n this.append(key, value);\n }\n else {\n throw new TypeError(\"Header values must be strings\");\n }\n }\n }\n }\n }\n append(name, value) {\n const key = name.toLowerCase();\n const existing = this.headers.get(key) || [];\n this.headers.set(key, [...existing, value]);\n }\n delete(name) {\n const key = name.toLowerCase();\n this.headers.delete(key);\n }\n get(name) {\n const key = name.toLowerCase();\n const values = this.headers.get(key);\n return values ? values.join(\", \") : null;\n }\n has(name) {\n const key = name.toLowerCase();\n return this.headers.has(key);\n }\n set(name, value) {\n const key = name.toLowerCase();\n this.headers.set(key, [value]);\n }\n forEach(callbackfn, thisArg) {\n const boundCallback = thisArg ? callbackfn.bind(thisArg) : callbackfn;\n this.headers.forEach((values, key) => boundCallback(values.join(\", \"), key, this));\n }\n getSetCookie() {\n return this.headers.get(\"set-cookie\") || [];\n }\n *entries() {\n for (const [key, values] of this.headers.entries()) {\n yield [key, values.join(\", \")];\n }\n }\n *keys() {\n yield* this.headers.keys();\n }\n *values() {\n for (const values of this.headers.values()) {\n yield values.join(\", \");\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n };\n}\nexport { Headers };\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { anySignal, getTimeoutSignal } from \"./signals.mjs\";\n/**\n * Cached result of checking whether the current runtime supports\n * the `cache` option in `Request`. Some runtimes (e.g. Cloudflare Workers)\n * throw a TypeError when this option is used.\n */\nlet _cacheNoStoreSupported;\nexport function isCacheNoStoreSupported() {\n if (_cacheNoStoreSupported != null) {\n return _cacheNoStoreSupported;\n }\n try {\n new Request(\"http://localhost\", { cache: \"no-store\" });\n _cacheNoStoreSupported = true;\n }\n catch (_a) {\n _cacheNoStoreSupported = false;\n }\n return _cacheNoStoreSupported;\n}\n/**\n * Reset the cached result of `isCacheNoStoreSupported`. Exposed for testing only.\n */\nexport function resetCacheNoStoreSupported() {\n _cacheNoStoreSupported = undefined;\n}\nexport const makeRequest = (fetchFn, url, method, headers, requestBody, timeoutMs, abortSignal, withCredentials, duplex, disableCache) => __awaiter(void 0, void 0, void 0, function* () {\n const signals = [];\n let timeoutAbortId;\n if (timeoutMs != null) {\n const { signal, abortId } = getTimeoutSignal(timeoutMs);\n timeoutAbortId = abortId;\n signals.push(signal);\n }\n if (abortSignal != null) {\n signals.push(abortSignal);\n }\n const newSignals = anySignal(signals);\n const response = yield fetchFn(url, Object.assign({ method: method, headers, body: requestBody, signal: newSignals, credentials: withCredentials ? \"include\" : undefined, \n // @ts-ignore\n duplex }, (disableCache && isCacheNoStoreSupported() ? { cache: \"no-store\" } : {})));\n if (timeoutAbortId != null) {\n clearTimeout(timeoutAbortId);\n }\n return response;\n});\n","const TIMEOUT = \"timeout\";\nexport function getTimeoutSignal(timeoutMs) {\n const controller = new AbortController();\n const abortId = setTimeout(() => controller.abort(TIMEOUT), timeoutMs);\n return { signal: controller.signal, abortId };\n}\nexport function anySignal(...args) {\n const signals = (args.length === 1 && Array.isArray(args[0]) ? args[0] : args);\n const controller = new AbortController();\n for (const signal of signals) {\n if (signal.aborted) {\n controller.abort(signal === null || signal === void 0 ? void 0 : signal.reason);\n break;\n }\n signal.addEventListener(\"abort\", () => controller.abort(signal === null || signal === void 0 ? void 0 : signal.reason), {\n signal: controller.signal,\n });\n }\n return controller.signal;\n}\n","import { Headers } from \"./Headers.mjs\";\n/**\n * A raw response indicating that the request was aborted.\n */\nexport const abortRawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 499,\n statusText: \"Client Closed Request\",\n type: \"error\",\n url: \"\",\n};\n/**\n * A raw response indicating an unknown error.\n */\nexport const unknownRawResponse = {\n headers: new Headers(),\n redirected: false,\n status: 0,\n statusText: \"Unknown Error\",\n type: \"error\",\n url: \"\",\n};\n/**\n * Converts a `RawResponse` object into a `RawResponse` by extracting its properties,\n * excluding the `body` and `bodyUsed` fields.\n *\n * @param response - The `RawResponse` object to convert.\n * @returns A `RawResponse` object containing the extracted properties of the input response.\n */\nexport function toRawResponse(response) {\n return {\n headers: response.headers,\n redirected: response.redirected,\n status: response.status,\n statusText: response.statusText,\n type: response.type,\n url: response.url,\n };\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst INITIAL_RETRY_DELAY = 1000; // in milliseconds\nconst MAX_RETRY_DELAY = 60000; // in milliseconds\nconst DEFAULT_MAX_RETRIES = 2;\nconst JITTER_FACTOR = 0.2; // 20% random jitter\nfunction addPositiveJitter(delay) {\n const jitterMultiplier = 1 + Math.random() * JITTER_FACTOR;\n return delay * jitterMultiplier;\n}\nfunction addSymmetricJitter(delay) {\n const jitterMultiplier = 1 + (Math.random() - 0.5) * JITTER_FACTOR;\n return delay * jitterMultiplier;\n}\nfunction getRetryDelayFromHeaders(response, retryAttempt) {\n const retryAfter = response.headers.get(\"Retry-After\");\n if (retryAfter) {\n const retryAfterSeconds = parseInt(retryAfter, 10);\n if (!Number.isNaN(retryAfterSeconds) && retryAfterSeconds > 0) {\n return Math.min(retryAfterSeconds * 1000, MAX_RETRY_DELAY);\n }\n const retryAfterDate = new Date(retryAfter);\n if (!Number.isNaN(retryAfterDate.getTime())) {\n const delay = retryAfterDate.getTime() - Date.now();\n if (delay > 0) {\n return Math.min(Math.max(delay, 0), MAX_RETRY_DELAY);\n }\n }\n }\n const rateLimitReset = response.headers.get(\"X-RateLimit-Reset\");\n if (rateLimitReset) {\n const resetTime = parseInt(rateLimitReset, 10);\n if (!Number.isNaN(resetTime)) {\n const delay = resetTime * 1000 - Date.now();\n if (delay > 0) {\n return addPositiveJitter(Math.min(delay, MAX_RETRY_DELAY));\n }\n }\n }\n return addSymmetricJitter(Math.min(INITIAL_RETRY_DELAY * Math.pow(2, retryAttempt), MAX_RETRY_DELAY));\n}\nexport function requestWithRetries(requestFn_1) {\n return __awaiter(this, arguments, void 0, function* (requestFn, maxRetries = DEFAULT_MAX_RETRIES) {\n let response = yield requestFn();\n for (let i = 0; i < maxRetries; ++i) {\n if ([408, 429].includes(response.status) || response.status >= 500) {\n const delay = getRetryDelayFromHeaders(response, i);\n yield new Promise((resolve) => setTimeout(resolve, delay));\n response = yield requestFn();\n }\n else {\n break;\n }\n }\n return response;\n });\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { toJson } from \"../json.mjs\";\nimport { createLogger } from \"../logging/logger.mjs\";\nimport { createRequestUrl } from \"./createRequestUrl.mjs\";\nimport { EndpointSupplier } from \"./EndpointSupplier.mjs\";\nimport { getErrorResponseBody } from \"./getErrorResponseBody.mjs\";\nimport { getFetchFn } from \"./getFetchFn.mjs\";\nimport { getRequestBody } from \"./getRequestBody.mjs\";\nimport { getResponseBody } from \"./getResponseBody.mjs\";\nimport { Headers } from \"./Headers.mjs\";\nimport { makeRequest } from \"./makeRequest.mjs\";\nimport { abortRawResponse, toRawResponse, unknownRawResponse } from \"./RawResponse.mjs\";\nimport { requestWithRetries } from \"./requestWithRetries.mjs\";\nconst SENSITIVE_HEADERS = new Set([\n \"authorization\",\n \"www-authenticate\",\n \"x-api-key\",\n \"api-key\",\n \"apikey\",\n \"x-api-token\",\n \"x-auth-token\",\n \"auth-token\",\n \"cookie\",\n \"set-cookie\",\n \"proxy-authorization\",\n \"proxy-authenticate\",\n \"x-csrf-token\",\n \"x-xsrf-token\",\n \"x-session-token\",\n \"x-access-token\",\n]);\nfunction redactHeaders(headers) {\n const filtered = {};\n for (const [key, value] of headers instanceof Headers ? headers.entries() : Object.entries(headers)) {\n if (SENSITIVE_HEADERS.has(key.toLowerCase())) {\n filtered[key] = \"[REDACTED]\";\n }\n else {\n filtered[key] = value;\n }\n }\n return filtered;\n}\nconst SENSITIVE_QUERY_PARAMS = new Set([\n \"api_key\",\n \"api-key\",\n \"apikey\",\n \"token\",\n \"access_token\",\n \"access-token\",\n \"auth_token\",\n \"auth-token\",\n \"password\",\n \"passwd\",\n \"secret\",\n \"api_secret\",\n \"api-secret\",\n \"apisecret\",\n \"key\",\n \"session\",\n \"session_id\",\n \"session-id\",\n]);\nfunction redactQueryParameters(queryParameters) {\n if (queryParameters == null) {\n return undefined;\n }\n const redacted = {};\n for (const [key, value] of Object.entries(queryParameters)) {\n redacted[key] = SENSITIVE_QUERY_PARAMS.has(key.toLowerCase()) ? \"[REDACTED]\" : value;\n }\n return redacted;\n}\nfunction redactUrl(url) {\n const protocolIndex = url.indexOf(\"://\");\n if (protocolIndex === -1)\n return url;\n const afterProtocol = protocolIndex + 3;\n // Find the first delimiter that marks the end of the authority section\n const pathStart = url.indexOf(\"/\", afterProtocol);\n let queryStart = url.indexOf(\"?\", afterProtocol);\n let fragmentStart = url.indexOf(\"#\", afterProtocol);\n const firstDelimiter = Math.min(pathStart === -1 ? url.length : pathStart, queryStart === -1 ? url.length : queryStart, fragmentStart === -1 ? url.length : fragmentStart);\n // Find the LAST @ before the delimiter (handles multiple @ in credentials)\n let atIndex = -1;\n for (let i = afterProtocol; i < firstDelimiter; i++) {\n if (url[i] === \"@\") {\n atIndex = i;\n }\n }\n if (atIndex !== -1) {\n url = `${url.slice(0, afterProtocol)}[REDACTED]@${url.slice(atIndex + 1)}`;\n }\n // Recalculate queryStart since url might have changed\n queryStart = url.indexOf(\"?\");\n if (queryStart === -1)\n return url;\n fragmentStart = url.indexOf(\"#\", queryStart);\n const queryEnd = fragmentStart !== -1 ? fragmentStart : url.length;\n const queryString = url.slice(queryStart + 1, queryEnd);\n if (queryString.length === 0)\n return url;\n // FAST PATH: Quick check if any sensitive keywords present\n // Using indexOf is faster than regex for simple substring matching\n const lower = queryString.toLowerCase();\n const hasSensitive = lower.includes(\"token\") ||\n lower.includes(\"key\") ||\n lower.includes(\"password\") ||\n lower.includes(\"passwd\") ||\n lower.includes(\"secret\") ||\n lower.includes(\"session\") ||\n lower.includes(\"auth\");\n if (!hasSensitive) {\n return url;\n }\n // SLOW PATH: Parse and redact\n const redactedParams = [];\n const params = queryString.split(\"&\");\n for (const param of params) {\n const equalIndex = param.indexOf(\"=\");\n if (equalIndex === -1) {\n redactedParams.push(param);\n continue;\n }\n const key = param.slice(0, equalIndex);\n let shouldRedact = SENSITIVE_QUERY_PARAMS.has(key.toLowerCase());\n if (!shouldRedact && key.includes(\"%\")) {\n try {\n const decodedKey = decodeURIComponent(key);\n shouldRedact = SENSITIVE_QUERY_PARAMS.has(decodedKey.toLowerCase());\n }\n catch (_a) { }\n }\n redactedParams.push(shouldRedact ? `${key}=[REDACTED]` : param);\n }\n return url.slice(0, queryStart + 1) + redactedParams.join(\"&\") + url.slice(queryEnd);\n}\nfunction getHeaders(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n const newHeaders = new Headers();\n newHeaders.set(\"Accept\", args.responseType === \"json\"\n ? \"application/json\"\n : args.responseType === \"text\"\n ? \"text/plain\"\n : args.responseType === \"sse\"\n ? \"text/event-stream\"\n : \"*/*\");\n if (args.body !== undefined && args.contentType != null) {\n newHeaders.set(\"Content-Type\", args.contentType);\n }\n if (args.headers == null) {\n return newHeaders;\n }\n for (const [key, value] of Object.entries(args.headers)) {\n const result = yield EndpointSupplier.get(value, { endpointMetadata: (_a = args.endpointMetadata) !== null && _a !== void 0 ? _a : {} });\n if (typeof result === \"string\") {\n newHeaders.set(key, result);\n continue;\n }\n if (result == null) {\n continue;\n }\n newHeaders.set(key, `${result}`);\n }\n return newHeaders;\n });\n}\nexport function fetcherImpl(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n let url = args.url;\n if (args.queryString != null && args.queryString.length > 0) {\n url = `${url}?${args.queryString}`;\n }\n else {\n url = createRequestUrl(args.url, args.queryParameters);\n }\n const requestBody = yield getRequestBody({\n body: args.body,\n type: (_a = args.requestType) !== null && _a !== void 0 ? _a : \"other\",\n });\n const fetchFn = (_b = args.fetchFn) !== null && _b !== void 0 ? _b : (yield getFetchFn());\n const headers = yield getHeaders(args);\n const logger = createLogger(args.logging);\n if (logger.isDebug()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n headers: redactHeaders(headers),\n queryParameters: redactQueryParameters(args.queryParameters),\n hasBody: requestBody != null,\n };\n logger.debug(\"Making HTTP request\", metadata);\n }\n try {\n const response = yield requestWithRetries(() => __awaiter(this, void 0, void 0, function* () {\n return makeRequest(fetchFn, url, args.method, headers, requestBody, args.timeoutMs, args.abortSignal, args.withCredentials, args.duplex, args.responseType === \"streaming\" || args.responseType === \"sse\");\n }), args.maxRetries);\n if (response.status >= 200 && response.status < 400) {\n if (logger.isDebug()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n statusCode: response.status,\n responseHeaders: redactHeaders(response.headers),\n };\n logger.debug(\"HTTP request succeeded\", metadata);\n }\n const body = yield getResponseBody(response, args.responseType);\n return {\n ok: true,\n body: body,\n headers: response.headers,\n rawResponse: toRawResponse(response),\n };\n }\n else {\n if (logger.isError()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n statusCode: response.status,\n responseHeaders: redactHeaders(Object.fromEntries(response.headers.entries())),\n };\n logger.error(\"HTTP request failed with error status\", metadata);\n }\n return {\n ok: false,\n error: {\n reason: \"status-code\",\n statusCode: response.status,\n body: yield getErrorResponseBody(response),\n },\n rawResponse: toRawResponse(response),\n };\n }\n }\n catch (error) {\n if ((_c = args.abortSignal) === null || _c === void 0 ? void 0 : _c.aborted) {\n if (logger.isError()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n };\n logger.error(\"HTTP request was aborted\", metadata);\n }\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: \"The user aborted a request\",\n cause: error,\n },\n rawResponse: abortRawResponse,\n };\n }\n else if (error instanceof Error && error.name === \"AbortError\") {\n if (logger.isError()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n timeoutMs: args.timeoutMs,\n };\n logger.error(\"HTTP request timed out\", metadata);\n }\n return {\n ok: false,\n error: {\n reason: \"timeout\",\n cause: error,\n },\n rawResponse: abortRawResponse,\n };\n }\n else if (error instanceof Error) {\n if (logger.isError()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n errorMessage: error.message,\n };\n logger.error(\"HTTP request failed with error\", metadata);\n }\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: error.message,\n cause: error,\n },\n rawResponse: unknownRawResponse,\n };\n }\n if (logger.isError()) {\n const metadata = {\n method: args.method,\n url: redactUrl(url),\n error: toJson(error),\n };\n logger.error(\"HTTP request failed with unknown error\", metadata);\n }\n return {\n ok: false,\n error: {\n reason: \"unknown\",\n errorMessage: toJson(error),\n cause: error,\n },\n rawResponse: unknownRawResponse,\n };\n }\n });\n}\nexport const fetcher = fetcherImpl;\n","import { toQueryString } from \"../url/qs.mjs\";\nexport function createRequestUrl(baseUrl, queryParameters) {\n const queryString = toQueryString(queryParameters, { arrayFormat: \"repeat\" });\n return queryString ? `${baseUrl}?${queryString}` : baseUrl;\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { toJson } from \"../json.mjs\";\nimport { toQueryString } from \"../url/qs.mjs\";\nexport function getRequestBody(_a) {\n return __awaiter(this, arguments, void 0, function* ({ body, type }) {\n if (type === \"form\") {\n return toQueryString(body, { arrayFormat: \"repeat\", encode: true });\n }\n if (type.includes(\"json\")) {\n return toJson(body);\n }\n else {\n return body;\n }\n });\n}\n","import { toQueryString } from \"./qs.mjs\";\n/**\n * Creates a fluent builder for constructing URL query strings.\n *\n * Each `.add()` call serializes its value immediately (like C#'s builder),\n * so no format tracking is needed — the style is applied at add-time.\n *\n * Usage (generated code):\n *\n * const qs = core.url.queryBuilder()\n * .add(\"limit\", limit)\n * .add(\"tags\", tags, { style: \"comma\" }) // explode: false\n * .mergeAdditional(requestOptions?.queryParams)\n * .build();\n */\nexport function queryBuilder() {\n return new QueryStringBuilder();\n}\nclass QueryStringBuilder {\n constructor() {\n this.parts = new Map();\n }\n /**\n * Adds a query parameter, serializing it immediately.\n *\n * By default arrays use \"repeat\" format (`key=a&key=b`).\n * Pass `{ style: \"comma\" }` for OpenAPI `explode: false` parameters\n * to get comma-separated values (`key=a,b,c`).\n *\n * Null / undefined values are silently skipped.\n */\n add(key, value, options) {\n if (value === undefined || value === null) {\n return this;\n }\n const serialized = toQueryString({ [key]: value }, { arrayFormat: (options === null || options === void 0 ? void 0 : options.style) === \"comma\" ? \"comma\" : \"repeat\" });\n if (serialized.length > 0) {\n this.parts.set(key, serialized);\n }\n return this;\n }\n /**\n * Adds multiple query parameters at once from a record.\n * All parameters use the default \"repeat\" array format.\n * Null / undefined values are silently skipped.\n */\n addMany(params) {\n if (params != null) {\n for (const [key, value] of Object.entries(params)) {\n this.add(key, value);\n }\n }\n return this;\n }\n /**\n * Merges additional query parameters supplied at call-time via\n * `requestOptions.queryParams`. Overrides existing keys (last-write-wins).\n */\n mergeAdditional(additionalParams) {\n if (additionalParams != null) {\n for (const [key, value] of Object.entries(additionalParams)) {\n if (value === undefined || value === null) {\n continue;\n }\n const serialized = toQueryString({ [key]: value }, { arrayFormat: \"repeat\" });\n if (serialized.length > 0) {\n this.parts.set(key, serialized);\n }\n }\n }\n return this;\n }\n /**\n * Returns the assembled query string (without the leading `?`).\n * Returns an empty string when no parameters were added.\n */\n build() {\n return [...this.parts.values()].join(\"&\");\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nexport class DeepgramTimeoutError extends Error {\n constructor(message, opts) {\n super(message);\n Object.setPrototypeOf(this, new.target.prototype);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = this.constructor.name;\n if ((opts === null || opts === void 0 ? void 0 : opts.cause) != null) {\n this.cause = opts.cause;\n }\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport * as errors from \"./index.mjs\";\nexport function handleNonStatusCodeError(error, rawResponse, method, path) {\n switch (error.reason) {\n case \"non-json\":\n throw new errors.DeepgramError({\n statusCode: error.statusCode,\n body: error.rawBody,\n rawResponse: rawResponse,\n });\n case \"body-is-null\":\n throw new errors.DeepgramError({\n statusCode: error.statusCode,\n rawResponse: rawResponse,\n });\n case \"timeout\":\n throw new errors.DeepgramTimeoutError(`Timeout exceeded when calling ${method} ${path}.`, {\n cause: error.cause,\n });\n case \"unknown\":\n throw new errors.DeepgramError({\n message: error.errorMessage,\n rawResponse: rawResponse,\n cause: error.cause,\n });\n default:\n throw new errors.DeepgramError({\n message: \"Unknown error\",\n rawResponse: rawResponse,\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport * as errors from \"../../errors/index.mjs\";\nexport class BadRequestError extends errors.DeepgramError {\n constructor(body, rawResponse) {\n super({\n message: \"BadRequestError\",\n statusCode: 400,\n body: body,\n rawResponse: rawResponse,\n });\n Object.setPrototypeOf(this, new.target.prototype);\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n this.name = this.constructor.name;\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptions, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class ModelsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n /**\n * Retrieves the available think models that can be used for AI agent processing\n *\n * @param {ModelsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.agent.v1.settings.think.models.list()\n */\n list(requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(requestOptions));\n }\n __list(requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).agentRest, \"v1/agent/settings/think/models\"),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/agent/settings/think/models\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptions } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { ModelsClient } from \"../resources/models/client/Client.mjs\";\nexport class ThinkClient {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n get models() {\n var _a;\n return ((_a = this._models) !== null && _a !== void 0 ? _a : (this._models = new ModelsClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptions } from \"../../../../../../../../BaseClient.mjs\";\nimport { ThinkClient } from \"../resources/think/client/Client.mjs\";\nexport class SettingsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n get think() {\n var _a;\n return ((_a = this._think) !== null && _a !== void 0 ? _a : (this._think = new ThinkClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { fromJson, toJson } from \"../../../../../../core/json.mjs\";\nexport class V1Socket {\n constructor(args) {\n this.eventHandlers = {};\n this.handleOpen = () => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).open) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.handleMessage = (event) => {\n var _a, _b;\n const data = fromJson(event.data);\n (_b = (_a = this.eventHandlers).message) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n };\n this.handleClose = (event) => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).close) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n this.handleError = (event) => {\n var _a, _b;\n const message = event.message;\n (_b = (_a = this.eventHandlers).error) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(message));\n };\n this.socket = args.socket;\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n }\n /** The current state of the connection; this is one of the readyState constants. */\n get readyState() {\n return this.socket.readyState;\n }\n /**\n * @param event - The event to attach to.\n * @param callback - The callback to run when the event is triggered.\n * Usage:\n * ```typescript\n * this.on('open', () => {\n * console.log('The websocket is open');\n * });\n * ```\n */\n on(event, callback) {\n this.eventHandlers[event] = callback;\n }\n sendSettings(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendUpdateSpeak(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendInjectUserMessage(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendInjectAgentMessage(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendFunctionCallResponse(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendKeepAlive(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendUpdatePrompt(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendUpdateThink(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendMedia(message) {\n this.assertSocketIsOpen();\n this.sendBinary(message);\n }\n /** Connect to the websocket and register event handlers. */\n connect() {\n this.socket.reconnect();\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n return this;\n }\n /** Close the websocket and unregister event handlers. */\n close() {\n this.socket.close();\n this.handleClose({ code: 1000 });\n this.socket.removeEventListener(\"open\", this.handleOpen);\n this.socket.removeEventListener(\"message\", this.handleMessage);\n this.socket.removeEventListener(\"close\", this.handleClose);\n this.socket.removeEventListener(\"error\", this.handleError);\n }\n /** Returns a promise that resolves when the websocket is open. */\n waitForOpen() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.socket.readyState === core.ReconnectingWebSocket.ReadyState.OPEN) {\n return this.socket;\n }\n return new Promise((resolve, reject) => {\n this.socket.addEventListener(\"open\", () => {\n resolve(this.socket);\n });\n this.socket.addEventListener(\"error\", (event) => {\n reject(event);\n });\n });\n });\n }\n /** Asserts that the websocket is open. */\n assertSocketIsOpen() {\n if (!this.socket) {\n throw new Error(\"Socket is not connected.\");\n }\n if (this.socket.readyState !== core.ReconnectingWebSocket.ReadyState.OPEN) {\n throw new Error(\"Socket is not open.\");\n }\n }\n /** Send a binary payload to the websocket. */\n sendBinary(payload) {\n this.socket.send(payload);\n }\n /** Send a JSON payload to the websocket. */\n sendJson(payload) {\n const jsonPayload = toJson(payload);\n this.socket.send(jsonPayload);\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptions } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders, mergeOnlyDefinedHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { SettingsClient } from \"../resources/settings/client/Client.mjs\";\nimport { V1Socket } from \"./Socket.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n get settings() {\n var _a;\n return ((_a = this._settings) !== null && _a !== void 0 ? _a : (this._settings = new SettingsClient(this._options)));\n }\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const { protocols, queryParams, headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal } = args;\n const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ Authorization: args.Authorization }), headers);\n const socket = new core.ReconnectingWebSocket({\n url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.DeepgramEnvironment.Production).agent, \"/v1/agent/converse\"),\n protocols: protocols !== null && protocols !== void 0 ? protocols : [],\n queryParameters: queryParams !== null && queryParams !== void 0 ? queryParams : {},\n headers: _headers,\n options: {\n debug: debug !== null && debug !== void 0 ? debug : false,\n maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30,\n connectionTimeout: connectionTimeoutInSeconds != null ? connectionTimeoutInSeconds * 1000 : undefined,\n },\n abortSignal: abortSignal,\n });\n return new V1Socket({ socket });\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptions } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class AgentClient {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class TokensClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Generates a temporary JSON Web Token (JWT) with a 30-second (by default) TTL and usage::write permission for core voice APIs, requiring an API key with Member or higher authorization. Tokens created with this endpoint will not work with the Manage APIs.\n *\n * @param {Deepgram.auth.v1.GrantV1Request} request\n * @param {TokensClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.auth.v1.tokens.grant()\n */\n grant(request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__grant(request, requestOptions));\n }\n __grant() {\n return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/auth/grant\"),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/auth/grant\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { TokensClient } from \"../resources/tokens/client/Client.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get tokens() {\n var _a;\n return ((_a = this._tokens) !== null && _a !== void 0 ? _a : (this._tokens = new TokensClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class AuthClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nexport function toBinaryUploadRequest(file) {\n return __awaiter(this, void 0, void 0, function* () {\n const { data, filename, contentLength, contentType } = yield getFileWithMetadata(file);\n const request = {\n body: data,\n headers: {},\n };\n if (filename) {\n request.headers[\"Content-Disposition\"] = `attachment; filename=\"${filename}\"`;\n }\n if (contentType) {\n request.headers[\"Content-Type\"] = contentType;\n }\n if (contentLength != null) {\n request.headers[\"Content-Length\"] = contentLength.toString();\n }\n return request;\n });\n}\nexport function toMultipartDataPart(file) {\n return __awaiter(this, void 0, void 0, function* () {\n const { data, filename, contentType } = yield getFileWithMetadata(file, {\n noSniffFileSize: true,\n });\n return {\n data,\n filename,\n contentType,\n };\n });\n}\nfunction getFileWithMetadata(file_1) {\n return __awaiter(this, arguments, void 0, function* (file, { noSniffFileSize } = {}) {\n var _a, _b, _c, _d, _e;\n if (isFileLike(file)) {\n return getFileWithMetadata({\n data: file,\n }, { noSniffFileSize });\n }\n if (\"path\" in file) {\n const fs = yield import(\"fs\");\n if (!(fs === null || fs === void 0 ? void 0 : fs.createReadStream)) {\n throw new Error(\"File path uploads are not supported in this environment.\");\n }\n const data = fs.createReadStream(file.path);\n const contentLength = (_a = file.contentLength) !== null && _a !== void 0 ? _a : (noSniffFileSize === true ? undefined : yield tryGetFileSizeFromPath(file.path));\n const filename = (_b = file.filename) !== null && _b !== void 0 ? _b : getNameFromPath(file.path);\n return {\n data,\n filename,\n contentType: file.contentType,\n contentLength,\n };\n }\n if (\"data\" in file) {\n const data = file.data;\n const contentLength = (_c = file.contentLength) !== null && _c !== void 0 ? _c : (yield tryGetContentLengthFromFileLike(data, {\n noSniffFileSize,\n }));\n const filename = (_d = file.filename) !== null && _d !== void 0 ? _d : tryGetNameFromFileLike(data);\n return {\n data,\n filename,\n contentType: (_e = file.contentType) !== null && _e !== void 0 ? _e : tryGetContentTypeFromFileLike(data),\n contentLength,\n };\n }\n throw new Error(`Invalid FileUpload of type ${typeof file}: ${JSON.stringify(file)}`);\n });\n}\nfunction isFileLike(value) {\n return (isBuffer(value) ||\n isArrayBufferView(value) ||\n isArrayBuffer(value) ||\n isUint8Array(value) ||\n isBlob(value) ||\n isFile(value) ||\n isStreamLike(value) ||\n isReadableStream(value));\n}\nfunction tryGetFileSizeFromPath(path) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n try {\n const fs = yield import(\"fs\");\n if (!((_a = fs === null || fs === void 0 ? void 0 : fs.promises) === null || _a === void 0 ? void 0 : _a.stat)) {\n return undefined;\n }\n const fileStat = yield fs.promises.stat(path);\n return fileStat.size;\n }\n catch (_fallbackError) {\n return undefined;\n }\n });\n}\nfunction tryGetNameFromFileLike(data) {\n if (isNamedValue(data)) {\n return data.name;\n }\n if (isPathedValue(data)) {\n return getNameFromPath(data.path.toString());\n }\n return undefined;\n}\nfunction tryGetContentLengthFromFileLike(data_1) {\n return __awaiter(this, arguments, void 0, function* (data, { noSniffFileSize } = {}) {\n if (isBuffer(data)) {\n return data.length;\n }\n if (isArrayBufferView(data)) {\n return data.byteLength;\n }\n if (isArrayBuffer(data)) {\n return data.byteLength;\n }\n if (isBlob(data)) {\n return data.size;\n }\n if (isFile(data)) {\n return data.size;\n }\n if (noSniffFileSize === true) {\n return undefined;\n }\n if (isPathedValue(data)) {\n return yield tryGetFileSizeFromPath(data.path.toString());\n }\n return undefined;\n });\n}\nfunction tryGetContentTypeFromFileLike(data) {\n if (isBlob(data)) {\n return data.type;\n }\n if (isFile(data)) {\n return data.type;\n }\n return undefined;\n}\nfunction getNameFromPath(path) {\n const lastForwardSlash = path.lastIndexOf(\"/\");\n const lastBackSlash = path.lastIndexOf(\"\\\\\");\n const lastSlashIndex = Math.max(lastForwardSlash, lastBackSlash);\n return lastSlashIndex >= 0 ? path.substring(lastSlashIndex + 1) : path;\n}\nfunction isNamedValue(value) {\n return typeof value === \"object\" && value != null && \"name\" in value;\n}\nfunction isPathedValue(value) {\n return typeof value === \"object\" && value != null && \"path\" in value;\n}\nfunction isStreamLike(value) {\n return typeof value === \"object\" && value != null && (\"read\" in value || \"pipe\" in value);\n}\nfunction isReadableStream(value) {\n return typeof value === \"object\" && value != null && \"getReader\" in value;\n}\nfunction isBuffer(value) {\n return typeof Buffer !== \"undefined\" && Buffer.isBuffer && Buffer.isBuffer(value);\n}\nfunction isArrayBufferView(value) {\n return typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView(value);\n}\nfunction isArrayBuffer(value) {\n return typeof ArrayBuffer !== \"undefined\" && value instanceof ArrayBuffer;\n}\nfunction isUint8Array(value) {\n return typeof Uint8Array !== \"undefined\" && value instanceof Uint8Array;\n}\nfunction isBlob(value) {\n return typeof Blob !== \"undefined\" && value instanceof Blob;\n}\nfunction isFile(value) {\n return typeof File !== \"undefined\" && value instanceof File;\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class MediaClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Transcribe audio and video using Deepgram's speech-to-text REST API\n *\n * @param {Deepgram.listen.v1.ListenV1RequestUrl} request\n * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.listen.v1.media.transcribeUrl({\n * callback: \"callback\",\n * callback_method: \"POST\",\n * extra: \"extra\",\n * sentiment: true,\n * summarize: \"v2\",\n * tag: \"tag\",\n * topics: true,\n * custom_topic: \"custom_topic\",\n * custom_topic_mode: \"extended\",\n * intents: true,\n * custom_intent: \"custom_intent\",\n * custom_intent_mode: \"extended\",\n * detect_entities: true,\n * detect_language: true,\n * diarize: true,\n * diarize_model: \"latest\",\n * dictation: true,\n * encoding: \"linear16\",\n * filler_words: true,\n * keyterm: [\"keyterm\"],\n * keywords: \"keywords\",\n * language: \"language\",\n * measurements: true,\n * model: \"nova-3\",\n * multichannel: true,\n * numerals: true,\n * paragraphs: true,\n * profanity_filter: true,\n * punctuate: true,\n * redact: \"redact\",\n * replace: \"replace\",\n * search: \"search\",\n * smart_format: true,\n * utterances: true,\n * utt_split: 1.1,\n * version: \"latest\",\n * mip_opt_out: true,\n * url: \"https://dpgr.am/spacewalk.wav\"\n * })\n */\n transcribeUrl(request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__transcribeUrl(request, requestOptions));\n }\n __transcribeUrl(request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { callback, callback_method: callbackMethod, extra, sentiment, summarize, tag, topics, custom_topic: customTopic, custom_topic_mode: customTopicMode, intents, custom_intent: customIntent, custom_intent_mode: customIntentMode, detect_entities: detectEntities, detect_language: detectLanguage, diarize, diarize_model: diarizeModel, dictation, encoding, filler_words: fillerWords, keyterm, keywords, language, measurements, model, multichannel, numerals, paragraphs, profanity_filter: profanityFilter, punctuate, redact, replace, search, smart_format: smartFormat, utterances, utt_split: uttSplit, version, mip_opt_out: mipOptOut } = request, _body = __rest(request, [\"callback\", \"callback_method\", \"extra\", \"sentiment\", \"summarize\", \"tag\", \"topics\", \"custom_topic\", \"custom_topic_mode\", \"intents\", \"custom_intent\", \"custom_intent_mode\", \"detect_entities\", \"detect_language\", \"diarize\", \"diarize_model\", \"dictation\", \"encoding\", \"filler_words\", \"keyterm\", \"keywords\", \"language\", \"measurements\", \"model\", \"multichannel\", \"numerals\", \"paragraphs\", \"profanity_filter\", \"punctuate\", \"redact\", \"replace\", \"search\", \"smart_format\", \"utterances\", \"utt_split\", \"version\", \"mip_opt_out\"]);\n const _queryParams = {\n callback,\n callback_method: callbackMethod != null ? callbackMethod : undefined,\n extra,\n sentiment,\n summarize: summarize != null ? summarize : undefined,\n tag,\n topics,\n custom_topic: customTopic,\n custom_topic_mode: customTopicMode != null ? customTopicMode : undefined,\n intents,\n custom_intent: customIntent,\n custom_intent_mode: customIntentMode != null ? customIntentMode : undefined,\n detect_entities: detectEntities,\n detect_language: detectLanguage,\n diarize,\n diarize_model: diarizeModel != null ? diarizeModel : undefined,\n dictation,\n encoding: encoding != null ? encoding : undefined,\n filler_words: fillerWords,\n keyterm,\n keywords,\n language,\n measurements,\n model: model != null ? model : undefined,\n multichannel,\n numerals,\n paragraphs,\n profanity_filter: profanityFilter,\n punctuate,\n redact,\n replace,\n search,\n smart_format: smartFormat,\n utterances,\n utt_split: uttSplit,\n version: version != null ? version : undefined,\n mip_opt_out: mipOptOut,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/listen\"),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n requestType: \"json\",\n body: _body,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/listen\");\n });\n }\n /**\n * Transcribe audio and video using Deepgram's speech-to-text REST API\n *\n * @param {core.file.Uploadable} uploadable\n * @param {Deepgram.listen.v1.MediaTranscribeRequestOctetStream} request\n * @param {MediaClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * import { createReadStream } from \"fs\";\n * await client.listen.v1.media.transcribeFile(createReadStream(\"path/to/file\"), {})\n */\n transcribeFile(uploadable, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__transcribeFile(uploadable, request, requestOptions));\n }\n __transcribeFile(uploadable, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _queryParams = {\n callback: request.callback,\n callback_method: request.callback_method != null ? request.callback_method : undefined,\n extra: request.extra,\n sentiment: request.sentiment,\n summarize: request.summarize != null ? request.summarize : undefined,\n tag: request.tag,\n topics: request.topics,\n custom_topic: request.custom_topic,\n custom_topic_mode: request.custom_topic_mode != null ? request.custom_topic_mode : undefined,\n intents: request.intents,\n custom_intent: request.custom_intent,\n custom_intent_mode: request.custom_intent_mode != null ? request.custom_intent_mode : undefined,\n detect_entities: request.detect_entities,\n detect_language: request.detect_language,\n diarize: request.diarize,\n diarize_model: request.diarize_model != null ? request.diarize_model : undefined,\n dictation: request.dictation,\n encoding: request.encoding != null ? request.encoding : undefined,\n filler_words: request.filler_words,\n keyterm: request.keyterm,\n keywords: request.keywords,\n language: request.language,\n measurements: request.measurements,\n model: request.model != null ? request.model : undefined,\n multichannel: request.multichannel,\n numerals: request.numerals,\n paragraphs: request.paragraphs,\n profanity_filter: request.profanity_filter,\n punctuate: request.punctuate,\n redact: request.redact,\n replace: request.replace,\n search: request.search,\n smart_format: request.smart_format,\n utterances: request.utterances,\n utt_split: request.utt_split,\n version: request.version != null ? request.version : undefined,\n mip_opt_out: request.mip_opt_out,\n };\n const _binaryUploadRequest = yield core.file.toBinaryUploadRequest(uploadable);\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, _binaryUploadRequest.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/listen\"),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/octet-stream\",\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n requestType: \"bytes\",\n duplex: \"half\",\n body: _binaryUploadRequest.body,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/listen\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { fromJson, toJson } from \"../../../../../../core/json.mjs\";\nexport class V1Socket {\n constructor(args) {\n this.eventHandlers = {};\n this.handleOpen = () => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).open) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.handleMessage = (event) => {\n var _a, _b;\n const data = fromJson(event.data);\n (_b = (_a = this.eventHandlers).message) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n };\n this.handleClose = (event) => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).close) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n this.handleError = (event) => {\n var _a, _b;\n const message = event.message;\n (_b = (_a = this.eventHandlers).error) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(message));\n };\n this.socket = args.socket;\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n }\n /** The current state of the connection; this is one of the readyState constants. */\n get readyState() {\n return this.socket.readyState;\n }\n /**\n * @param event - The event to attach to.\n * @param callback - The callback to run when the event is triggered.\n * Usage:\n * ```typescript\n * this.on('open', () => {\n * console.log('The websocket is open');\n * });\n * ```\n */\n on(event, callback) {\n this.eventHandlers[event] = callback;\n }\n sendMedia(message) {\n this.assertSocketIsOpen();\n this.sendBinary(message);\n }\n sendFinalize(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendCloseStream(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendKeepAlive(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n /** Connect to the websocket and register event handlers. */\n connect() {\n this.socket.reconnect();\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n return this;\n }\n /** Close the websocket and unregister event handlers. */\n close() {\n this.socket.close();\n this.handleClose({ code: 1000 });\n this.socket.removeEventListener(\"open\", this.handleOpen);\n this.socket.removeEventListener(\"message\", this.handleMessage);\n this.socket.removeEventListener(\"close\", this.handleClose);\n this.socket.removeEventListener(\"error\", this.handleError);\n }\n /** Returns a promise that resolves when the websocket is open. */\n waitForOpen() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.socket.readyState === core.ReconnectingWebSocket.ReadyState.OPEN) {\n return this.socket;\n }\n return new Promise((resolve, reject) => {\n this.socket.addEventListener(\"open\", () => {\n resolve(this.socket);\n });\n this.socket.addEventListener(\"error\", (event) => {\n reject(event);\n });\n });\n });\n }\n /** Asserts that the websocket is open. */\n assertSocketIsOpen() {\n if (!this.socket) {\n throw new Error(\"Socket is not connected.\");\n }\n if (this.socket.readyState !== core.ReconnectingWebSocket.ReadyState.OPEN) {\n throw new Error(\"Socket is not open.\");\n }\n }\n /** Send a binary payload to the websocket. */\n sendBinary(payload) {\n this.socket.send(payload);\n }\n /** Send a JSON payload to the websocket. */\n sendJson(payload) {\n const jsonPayload = toJson(payload);\n this.socket.send(jsonPayload);\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders, mergeOnlyDefinedHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { toJson } from \"../../../../../../core/json.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { MediaClient } from \"../resources/media/client/Client.mjs\";\nimport { V1Socket } from \"./Socket.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get media() {\n var _a;\n return ((_a = this._media) !== null && _a !== void 0 ? _a : (this._media = new MediaClient(this._options)));\n }\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const { callback, callback_method: callbackMethod, channels, detect_entities: detectEntities, diarize, dictation, encoding, endpointing, extra, interim_results: interimResults, keyterm, keywords, language, mip_opt_out: mipOptOut, model, multichannel, numerals, profanity_filter: profanityFilter, punctuate, redact, replace, sample_rate: sampleRate, search, smart_format: smartFormat, tag, utterance_end_ms: utteranceEndMs, vad_events: vadEvents, version, protocols, queryParams, headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal, } = args;\n const _queryParams = {\n callback: callback != null ? (typeof callback === \"string\" ? callback : toJson(callback)) : undefined,\n callback_method: callbackMethod != null ? callbackMethod : undefined,\n channels: channels != null ? (typeof channels === \"string\" ? channels : toJson(channels)) : undefined,\n detect_entities: detectEntities != null ? detectEntities : undefined,\n diarize: diarize != null ? diarize : undefined,\n dictation: dictation != null ? dictation : undefined,\n encoding: encoding != null ? encoding : undefined,\n endpointing: endpointing != null ? (typeof endpointing === \"string\" ? endpointing : toJson(endpointing)) : undefined,\n extra: extra != null ? (typeof extra === \"string\" ? extra : toJson(extra)) : undefined,\n interim_results: interimResults != null ? interimResults : undefined,\n keyterm: keyterm != null ? (typeof keyterm === \"string\" ? keyterm : toJson(keyterm)) : undefined,\n keywords: keywords != null ? (typeof keywords === \"string\" ? keywords : toJson(keywords)) : undefined,\n language: language != null ? (typeof language === \"string\" ? language : toJson(language)) : undefined,\n mip_opt_out: mipOptOut != null ? (typeof mipOptOut === \"string\" ? mipOptOut : toJson(mipOptOut)) : undefined,\n model,\n multichannel: multichannel != null ? multichannel : undefined,\n numerals: numerals != null ? numerals : undefined,\n profanity_filter: profanityFilter != null ? profanityFilter : undefined,\n punctuate: punctuate != null ? punctuate : undefined,\n redact: redact != null ? redact : undefined,\n replace: replace != null ? (typeof replace === \"string\" ? replace : toJson(replace)) : undefined,\n sample_rate: sampleRate != null ? (typeof sampleRate === \"string\" ? sampleRate : toJson(sampleRate)) : undefined,\n search: search != null ? (typeof search === \"string\" ? search : toJson(search)) : undefined,\n smart_format: smartFormat != null ? smartFormat : undefined,\n tag: tag != null ? (typeof tag === \"string\" ? tag : toJson(tag)) : undefined,\n utterance_end_ms: utteranceEndMs != null\n ? typeof utteranceEndMs === \"string\"\n ? utteranceEndMs\n : toJson(utteranceEndMs)\n : undefined,\n vad_events: vadEvents != null ? vadEvents : undefined,\n version: version != null ? (typeof version === \"string\" ? version : toJson(version)) : undefined,\n };\n const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ Authorization: args.Authorization }), headers);\n const socket = new core.ReconnectingWebSocket({\n url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.DeepgramEnvironment.Production).production, \"/v1/listen\"),\n protocols: protocols !== null && protocols !== void 0 ? protocols : [],\n queryParameters: Object.assign(Object.assign({}, _queryParams), queryParams),\n headers: _headers,\n options: {\n debug: debug !== null && debug !== void 0 ? debug : false,\n maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30,\n connectionTimeout: connectionTimeoutInSeconds != null ? connectionTimeoutInSeconds * 1000 : undefined,\n },\n abortSignal: abortSignal,\n });\n return new V1Socket({ socket });\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { fromJson, toJson } from \"../../../../../../core/json.mjs\";\nexport class V2Socket {\n constructor(args) {\n this.eventHandlers = {};\n this.handleOpen = () => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).open) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.handleMessage = (event) => {\n var _a, _b;\n const data = fromJson(event.data);\n (_b = (_a = this.eventHandlers).message) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n };\n this.handleClose = (event) => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).close) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n this.handleError = (event) => {\n var _a, _b;\n const message = event.message;\n (_b = (_a = this.eventHandlers).error) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(message));\n };\n this.socket = args.socket;\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n }\n /** The current state of the connection; this is one of the readyState constants. */\n get readyState() {\n return this.socket.readyState;\n }\n /**\n * @param event - The event to attach to.\n * @param callback - The callback to run when the event is triggered.\n * Usage:\n * ```typescript\n * this.on('open', () => {\n * console.log('The websocket is open');\n * });\n * ```\n */\n on(event, callback) {\n this.eventHandlers[event] = callback;\n }\n sendMedia(message) {\n this.assertSocketIsOpen();\n this.sendBinary(message);\n }\n sendCloseStream(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendConfigure(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n /** Connect to the websocket and register event handlers. */\n connect() {\n this.socket.reconnect();\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n return this;\n }\n /** Close the websocket and unregister event handlers. */\n close() {\n this.socket.close();\n this.handleClose({ code: 1000 });\n this.socket.removeEventListener(\"open\", this.handleOpen);\n this.socket.removeEventListener(\"message\", this.handleMessage);\n this.socket.removeEventListener(\"close\", this.handleClose);\n this.socket.removeEventListener(\"error\", this.handleError);\n }\n /** Returns a promise that resolves when the websocket is open. */\n waitForOpen() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.socket.readyState === core.ReconnectingWebSocket.ReadyState.OPEN) {\n return this.socket;\n }\n return new Promise((resolve, reject) => {\n this.socket.addEventListener(\"open\", () => {\n resolve(this.socket);\n });\n this.socket.addEventListener(\"error\", (event) => {\n reject(event);\n });\n });\n });\n }\n /** Asserts that the websocket is open. */\n assertSocketIsOpen() {\n if (!this.socket) {\n throw new Error(\"Socket is not connected.\");\n }\n if (this.socket.readyState !== core.ReconnectingWebSocket.ReadyState.OPEN) {\n throw new Error(\"Socket is not open.\");\n }\n }\n /** Send a binary payload to the websocket. */\n sendBinary(payload) {\n this.socket.send(payload);\n }\n /** Send a JSON payload to the websocket. */\n sendJson(payload) {\n const jsonPayload = toJson(payload);\n this.socket.send(jsonPayload);\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptions } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders, mergeOnlyDefinedHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { toJson } from \"../../../../../../core/json.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { V2Socket } from \"./Socket.mjs\";\nexport class V2Client {\n constructor(options = {}) {\n this._options = normalizeClientOptions(options);\n }\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const { model, encoding, sample_rate: sampleRate, eager_eot_threshold: eagerEotThreshold, eot_threshold: eotThreshold, eot_timeout_ms: eotTimeoutMs, keyterm, language_hint: languageHint, mip_opt_out: mipOptOut, tag, protocols, queryParams, headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal, } = args;\n const _queryParams = {\n model,\n encoding: encoding != null ? encoding : undefined,\n sample_rate: sampleRate != null ? (typeof sampleRate === \"string\" ? sampleRate : toJson(sampleRate)) : undefined,\n eager_eot_threshold: eagerEotThreshold != null\n ? typeof eagerEotThreshold === \"string\"\n ? eagerEotThreshold\n : toJson(eagerEotThreshold)\n : undefined,\n eot_threshold: eotThreshold != null\n ? typeof eotThreshold === \"string\"\n ? eotThreshold\n : toJson(eotThreshold)\n : undefined,\n eot_timeout_ms: eotTimeoutMs != null\n ? typeof eotTimeoutMs === \"string\"\n ? eotTimeoutMs\n : toJson(eotTimeoutMs)\n : undefined,\n keyterm: Array.isArray(keyterm)\n ? keyterm.map((item) => (typeof item === \"string\" ? item : toJson(item)))\n : keyterm != null\n ? typeof keyterm === \"string\"\n ? keyterm\n : toJson(keyterm)\n : undefined,\n language_hint: Array.isArray(languageHint)\n ? languageHint.map((item) => (typeof item === \"string\" ? item : toJson(item)))\n : languageHint != null\n ? typeof languageHint === \"string\"\n ? languageHint\n : toJson(languageHint)\n : undefined,\n mip_opt_out: mipOptOut != null ? (typeof mipOptOut === \"string\" ? mipOptOut : toJson(mipOptOut)) : undefined,\n tag: tag != null ? (typeof tag === \"string\" ? tag : toJson(tag)) : undefined,\n };\n const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ Authorization: args.Authorization }), headers);\n const socket = new core.ReconnectingWebSocket({\n url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.DeepgramEnvironment.Production).production, \"/v2/listen\"),\n protocols: protocols !== null && protocols !== void 0 ? protocols : [],\n queryParameters: Object.assign(Object.assign({}, _queryParams), queryParams),\n headers: _headers,\n options: {\n debug: debug !== null && debug !== void 0 ? debug : false,\n maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30,\n connectionTimeout: connectionTimeoutInSeconds != null ? connectionTimeoutInSeconds * 1000 : undefined,\n },\n abortSignal: abortSignal,\n });\n return new V2Socket({ socket });\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nimport { V2Client } from \"../resources/v2/client/Client.mjs\";\nexport class ListenClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n get v2() {\n var _a;\n return ((_a = this._v2) !== null && _a !== void 0 ? _a : (this._v2 = new V2Client(this._options)));\n }\n}\n","export function encodePathParam(param) {\n if (param === null) {\n return \"null\";\n }\n const typeofParam = typeof param;\n switch (typeofParam) {\n case \"undefined\":\n return \"undefined\";\n case \"string\":\n case \"number\":\n case \"boolean\":\n break;\n default:\n param = String(param);\n break;\n }\n return encodeURIComponent(param);\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class ModelsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Returns metadata on all the latest public models. To retrieve custom models, use Get Project Models.\n *\n * @param {Deepgram.manage.v1.ModelsListRequest} request\n * @param {ModelsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.models.list({\n * include_outdated: true\n * })\n */\n list(request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(request, requestOptions));\n }\n __list() {\n return __awaiter(this, arguments, void 0, function* (request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { include_outdated: includeOutdated } = request;\n const _queryParams = {\n include_outdated: includeOutdated,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/models\"),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/models\");\n });\n }\n /**\n * Returns metadata for a specific public model\n *\n * @param {string} model_id - The specific UUID of the model\n * @param {ModelsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.models.get(\"af6e9977-99f6-4d8f-b6f5-dfdf6fb6e291\")\n */\n get(model_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(model_id, requestOptions));\n }\n __get(model_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/models/${core.url.encodePathParam(model_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/models/{model_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class BalancesClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Generates a list of outstanding balances for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {BalancesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.billing.balances.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/balances`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/balances\");\n });\n }\n /**\n * Retrieves details about the specified balance\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} balance_id - The unique identifier of the balance\n * @param {BalancesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.billing.balances.get(\"123456-7890-1234-5678-901234\", \"123456-7890-1234-5678-901234\")\n */\n get(project_id, balance_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, balance_id, requestOptions));\n }\n __get(project_id, balance_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/balances/${core.url.encodePathParam(balance_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/balances/{balance_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class BreakdownClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Retrieves the billing summary for a specific project, with various filter options or by grouping options.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.billing.BreakdownListRequest} request\n * @param {BreakdownClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.billing.breakdown.list(\"123456-7890-1234-5678-901234\", {\n * start: \"start\",\n * end: \"end\",\n * accessor: \"12345678-1234-1234-1234-123456789012\",\n * deployment: \"hosted\",\n * tag: \"tag1\",\n * line_item: \"streaming::nova-3\",\n * grouping: [\"deployment\", \"line_item\"]\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end, accessor, deployment, tag, line_item: lineItem, grouping } = request;\n const _queryParams = {\n start,\n end,\n accessor,\n deployment: deployment != null ? deployment : undefined,\n tag,\n line_item: lineItem,\n grouping: Array.isArray(grouping) ? grouping.map((item) => item) : grouping != null ? grouping : undefined,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/billing/breakdown`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/billing/breakdown\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class FieldsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Lists the accessors, deployment types, tags, and line items used for billing data in the specified time period. Use this endpoint if you want to filter your results from the Billing Breakdown endpoint and want to know what filters are available.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.billing.FieldsListRequest} request\n * @param {FieldsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.billing.fields.list(\"123456-7890-1234-5678-901234\", {\n * start: \"start\",\n * end: \"end\"\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end } = request;\n const _queryParams = {\n start,\n end,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/billing/fields`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/billing/fields\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class PurchasesClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Returns the original purchased amount on an order transaction\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.billing.PurchasesListRequest} request\n * @param {PurchasesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.billing.purchases.list(\"123456-7890-1234-5678-901234\", {\n * limit: 1.1\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { limit } = request;\n const _queryParams = {\n limit,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/purchases`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/purchases\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { BalancesClient } from \"../resources/balances/client/Client.mjs\";\nimport { BreakdownClient } from \"../resources/breakdown/client/Client.mjs\";\nimport { FieldsClient } from \"../resources/fields/client/Client.mjs\";\nimport { PurchasesClient } from \"../resources/purchases/client/Client.mjs\";\nexport class BillingClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get balances() {\n var _a;\n return ((_a = this._balances) !== null && _a !== void 0 ? _a : (this._balances = new BalancesClient(this._options)));\n }\n get breakdown() {\n var _a;\n return ((_a = this._breakdown) !== null && _a !== void 0 ? _a : (this._breakdown = new BreakdownClient(this._options)));\n }\n get fields() {\n var _a;\n return ((_a = this._fields) !== null && _a !== void 0 ? _a : (this._fields = new FieldsClient(this._options)));\n }\n get purchases() {\n var _a;\n return ((_a = this._purchases) !== null && _a !== void 0 ? _a : (this._purchases = new PurchasesClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../index.mjs\";\nexport class KeysClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Retrieves all API keys associated with the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.KeysListRequest} request\n * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.keys.list(\"123456-7890-1234-5678-901234\", {\n * status: \"active\"\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { status } = request;\n const _queryParams = {\n status: status != null ? status : undefined,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/keys`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/keys\");\n });\n }\n /**\n * Creates a new API key with specified settings for the project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.CreateKeyV1Request} [request]\n * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.keys.create(\"project_id\", {\n * \"key\": \"value\"\n * })\n */\n create(project_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__create(project_id, request, requestOptions));\n }\n __create(project_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/keys`),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/projects/{project_id}/keys\");\n });\n }\n /**\n * Retrieves information about a specified API key\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} key_id - The unique identifier of the API key\n * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.keys.get(\"123456-7890-1234-5678-901234\", \"123456789012345678901234\")\n */\n get(project_id, key_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, key_id, requestOptions));\n }\n __get(project_id, key_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/keys/${core.url.encodePathParam(key_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/keys/{key_id}\");\n });\n }\n /**\n * Deletes an API key for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} key_id - The unique identifier of the API key\n * @param {KeysClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.keys.delete(\"123456-7890-1234-5678-901234\", \"123456789012345678901234\")\n */\n delete(project_id, key_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, key_id, requestOptions));\n }\n __delete(project_id, key_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/keys/${core.url.encodePathParam(key_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/keys/{key_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class InvitesClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Generates a list of invites for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {InvitesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.invites.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/invites`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/invites\");\n });\n }\n /**\n * Generates an invite for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.members.CreateProjectInviteV1Request} request\n * @param {InvitesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.invites.create(\"123456-7890-1234-5678-901234\", {\n * email: \"email\",\n * scope: \"scope\"\n * })\n */\n create(project_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__create(project_id, request, requestOptions));\n }\n __create(project_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/invites`),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/projects/{project_id}/invites\");\n });\n }\n /**\n * Deletes an invite for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} email - The email address of the member\n * @param {InvitesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.invites.delete(\"123456-7890-1234-5678-901234\", \"john.doe@example.com\")\n */\n delete(project_id, email, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, email, requestOptions));\n }\n __delete(project_id, email, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/invites/${core.url.encodePathParam(email)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/invites/{email}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class ScopesClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Retrieves a list of scopes for a specific member\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} member_id - The unique identifier of the Member\n * @param {ScopesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.scopes.list(\"123456-7890-1234-5678-901234\", \"123456789012345678901234\")\n */\n list(project_id, member_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, member_id, requestOptions));\n }\n __list(project_id, member_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/members/${core.url.encodePathParam(member_id)}/scopes`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/members/{member_id}/scopes\");\n });\n }\n /**\n * Updates the scopes for a specific member\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} member_id - The unique identifier of the Member\n * @param {Deepgram.manage.v1.projects.members.UpdateProjectMemberScopesV1Request} request\n * @param {ScopesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.scopes.update(\"123456-7890-1234-5678-901234\", \"123456789012345678901234\", {\n * scope: \"admin\"\n * })\n */\n update(project_id, member_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__update(project_id, member_id, request, requestOptions));\n }\n __update(project_id, member_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/members/${core.url.encodePathParam(member_id)}/scopes`),\n method: \"PUT\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"PUT\", \"/v1/projects/{project_id}/members/{member_id}/scopes\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../index.mjs\";\nimport { InvitesClient } from \"../resources/invites/client/Client.mjs\";\nimport { ScopesClient } from \"../resources/scopes/client/Client.mjs\";\nexport class MembersClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get invites() {\n var _a;\n return ((_a = this._invites) !== null && _a !== void 0 ? _a : (this._invites = new InvitesClient(this._options)));\n }\n get scopes() {\n var _a;\n return ((_a = this._scopes) !== null && _a !== void 0 ? _a : (this._scopes = new ScopesClient(this._options)));\n }\n /**\n * Retrieves a list of members for a given project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/members`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/members\");\n });\n }\n /**\n * Removes a member from the project using their unique member ID\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} member_id - The unique identifier of the Member\n * @param {MembersClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.members.delete(\"123456-7890-1234-5678-901234\", \"123456789012345678901234\")\n */\n delete(project_id, member_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, member_id, requestOptions));\n }\n __delete(project_id, member_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/members/${core.url.encodePathParam(member_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/members/{member_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../index.mjs\";\nexport class ModelsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Returns metadata on all the latest models that a specific project has access to, including non-public models\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.ModelsListRequest} request\n * @param {ModelsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.models.list(\"123456-7890-1234-5678-901234\", {\n * include_outdated: true\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { include_outdated: includeOutdated } = request;\n const _queryParams = {\n include_outdated: includeOutdated,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/models`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/models\");\n });\n }\n /**\n * Returns metadata for a specific model\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} model_id - The specific UUID of the model\n * @param {ModelsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.models.get(\"123456-7890-1234-5678-901234\", \"af6e9977-99f6-4d8f-b6f5-dfdf6fb6e291\")\n */\n get(project_id, model_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, model_id, requestOptions));\n }\n __get(project_id, model_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/models/${core.url.encodePathParam(model_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/models/{model_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../index.mjs\";\nexport class RequestsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Generates a list of requests for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.RequestsListRequest} request\n * @param {RequestsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.requests.list(\"123456-7890-1234-5678-901234\", {\n * start: \"2024-01-15T09:30:00Z\",\n * end: \"2024-01-15T09:30:00Z\",\n * limit: 1.1,\n * page: 1.1,\n * accessor: \"12345678-1234-1234-1234-123456789012\",\n * request_id: \"12345678-1234-1234-1234-123456789012\",\n * deployment: \"hosted\",\n * endpoint: \"listen\",\n * method: \"sync\",\n * status: \"succeeded\"\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end, limit, page, accessor, request_id: requestId, deployment, endpoint, method, status, } = request;\n const _queryParams = {\n start: start != null ? start : undefined,\n end: end != null ? end : undefined,\n limit,\n page,\n accessor,\n request_id: requestId,\n deployment: deployment != null ? deployment : undefined,\n endpoint: endpoint != null ? endpoint : undefined,\n method: method != null ? method : undefined,\n status: status != null ? status : undefined,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/requests`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/requests\");\n });\n }\n /**\n * Retrieves a specific request for a specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} request_id - The unique identifier of the request\n * @param {RequestsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.requests.get(\"123456-7890-1234-5678-901234\", \"123456-7890-1234-5678-901234\")\n */\n get(project_id, request_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, request_id, requestOptions));\n }\n __get(project_id, request_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/requests/${core.url.encodePathParam(request_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/requests/{request_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class BreakdownClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Retrieves the usage breakdown for a specific project, with various filter options by API feature or by groupings. Setting a feature (e.g. diarize) to true includes requests that used that feature, while false excludes requests that used it. Multiple true filters are combined with OR logic, while false filters use AND logic.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.usage.BreakdownGetRequest} request\n * @param {BreakdownClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.usage.breakdown.get(\"123456-7890-1234-5678-901234\", {\n * start: \"start\",\n * end: \"end\",\n * grouping: \"accessor\",\n * accessor: \"12345678-1234-1234-1234-123456789012\",\n * alternatives: true,\n * callback_method: true,\n * callback: true,\n * channels: true,\n * custom_intent_mode: true,\n * custom_intent: true,\n * custom_topic_mode: true,\n * custom_topic: true,\n * deployment: \"hosted\",\n * detect_entities: true,\n * detect_language: true,\n * diarize: true,\n * dictation: true,\n * encoding: true,\n * endpoint: \"listen\",\n * extra: true,\n * filler_words: true,\n * intents: true,\n * keyterm: true,\n * keywords: true,\n * language: true,\n * measurements: true,\n * method: \"sync\",\n * model: \"6f548761-c9c0-429a-9315-11a1d28499c8\",\n * multichannel: true,\n * numerals: true,\n * paragraphs: true,\n * profanity_filter: true,\n * punctuate: true,\n * redact: true,\n * replace: true,\n * sample_rate: true,\n * search: true,\n * sentiment: true,\n * smart_format: true,\n * summarize: true,\n * tag: \"tag1\",\n * topics: true,\n * utt_split: true,\n * utterances: true,\n * version: true\n * })\n */\n get(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, request, requestOptions));\n }\n __get(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end, grouping, accessor, alternatives, callback_method: callbackMethod, callback, channels, custom_intent_mode: customIntentMode, custom_intent: customIntent, custom_topic_mode: customTopicMode, custom_topic: customTopic, deployment, detect_entities: detectEntities, detect_language: detectLanguage, diarize, dictation, encoding, endpoint, extra, filler_words: fillerWords, intents, keyterm, keywords, language, measurements, method, model, multichannel, numerals, paragraphs, profanity_filter: profanityFilter, punctuate, redact, replace, sample_rate: sampleRate, search, sentiment, smart_format: smartFormat, summarize, tag, topics, utt_split: uttSplit, utterances, version, } = request;\n const _queryParams = {\n start,\n end,\n grouping: grouping != null ? grouping : undefined,\n accessor,\n alternatives,\n callback_method: callbackMethod,\n callback,\n channels,\n custom_intent_mode: customIntentMode,\n custom_intent: customIntent,\n custom_topic_mode: customTopicMode,\n custom_topic: customTopic,\n deployment: deployment != null ? deployment : undefined,\n detect_entities: detectEntities,\n detect_language: detectLanguage,\n diarize,\n dictation,\n encoding,\n endpoint: endpoint != null ? endpoint : undefined,\n extra,\n filler_words: fillerWords,\n intents,\n keyterm,\n keywords,\n language,\n measurements,\n method: method != null ? method : undefined,\n model,\n multichannel,\n numerals,\n paragraphs,\n profanity_filter: profanityFilter,\n punctuate,\n redact,\n replace,\n sample_rate: sampleRate,\n search,\n sentiment,\n smart_format: smartFormat,\n summarize,\n tag,\n topics,\n utt_split: uttSplit,\n utterances,\n version,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/usage/breakdown`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/usage/breakdown\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../../../index.mjs\";\nexport class FieldsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Lists the features, models, tags, languages, and processing method used for requests in the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.usage.FieldsListRequest} request\n * @param {FieldsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.usage.fields.list(\"123456-7890-1234-5678-901234\", {\n * start: \"start\",\n * end: \"end\"\n * })\n */\n list(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, request, requestOptions));\n }\n __list(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end } = request;\n const _queryParams = {\n start,\n end,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/usage/fields`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/usage/fields\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../../../index.mjs\";\nimport { BreakdownClient } from \"../resources/breakdown/client/Client.mjs\";\nimport { FieldsClient } from \"../resources/fields/client/Client.mjs\";\nexport class UsageClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get breakdown() {\n var _a;\n return ((_a = this._breakdown) !== null && _a !== void 0 ? _a : (this._breakdown = new BreakdownClient(this._options)));\n }\n get fields() {\n var _a;\n return ((_a = this._fields) !== null && _a !== void 0 ? _a : (this._fields = new FieldsClient(this._options)));\n }\n /**\n * @deprecated\n *\n * Retrieves the usage for a specific project. Use Get Project Usage Breakdown for a more comprehensive usage summary.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.projects.UsageGetRequest} request\n * @param {UsageClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.usage.get(\"123456-7890-1234-5678-901234\", {\n * start: \"start\",\n * end: \"end\",\n * accessor: \"12345678-1234-1234-1234-123456789012\",\n * alternatives: true,\n * callback_method: true,\n * callback: true,\n * channels: true,\n * custom_intent_mode: true,\n * custom_intent: true,\n * custom_topic_mode: true,\n * custom_topic: true,\n * deployment: \"hosted\",\n * detect_entities: true,\n * detect_language: true,\n * diarize: true,\n * dictation: true,\n * encoding: true,\n * endpoint: \"listen\",\n * extra: true,\n * filler_words: true,\n * intents: true,\n * keyterm: true,\n * keywords: true,\n * language: true,\n * measurements: true,\n * method: \"sync\",\n * model: \"6f548761-c9c0-429a-9315-11a1d28499c8\",\n * multichannel: true,\n * numerals: true,\n * paragraphs: true,\n * profanity_filter: true,\n * punctuate: true,\n * redact: true,\n * replace: true,\n * sample_rate: true,\n * search: true,\n * sentiment: true,\n * smart_format: true,\n * summarize: true,\n * tag: \"tag1\",\n * topics: true,\n * utt_split: true,\n * utterances: true,\n * version: true\n * })\n */\n get(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, request, requestOptions));\n }\n __get(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { start, end, accessor, alternatives, callback_method: callbackMethod, callback, channels, custom_intent_mode: customIntentMode, custom_intent: customIntent, custom_topic_mode: customTopicMode, custom_topic: customTopic, deployment, detect_entities: detectEntities, detect_language: detectLanguage, diarize, dictation, encoding, endpoint, extra, filler_words: fillerWords, intents, keyterm, keywords, language, measurements, method, model, multichannel, numerals, paragraphs, profanity_filter: profanityFilter, punctuate, redact, replace, sample_rate: sampleRate, search, sentiment, smart_format: smartFormat, summarize, tag, topics, utt_split: uttSplit, utterances, version, } = request;\n const _queryParams = {\n start,\n end,\n accessor,\n alternatives,\n callback_method: callbackMethod,\n callback,\n channels,\n custom_intent_mode: customIntentMode,\n custom_intent: customIntent,\n custom_topic_mode: customTopicMode,\n custom_topic: customTopic,\n deployment: deployment != null ? deployment : undefined,\n detect_entities: detectEntities,\n detect_language: detectLanguage,\n diarize,\n dictation,\n encoding,\n endpoint: endpoint != null ? endpoint : undefined,\n extra,\n filler_words: fillerWords,\n intents,\n keyterm,\n keywords,\n language,\n measurements,\n method: method != null ? method : undefined,\n model,\n multichannel,\n numerals,\n paragraphs,\n profanity_filter: profanityFilter,\n punctuate,\n redact,\n replace,\n sample_rate: sampleRate,\n search,\n sentiment,\n smart_format: smartFormat,\n summarize,\n tag,\n topics,\n utt_split: uttSplit,\n utterances,\n version,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/usage`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/usage\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nimport { BillingClient } from \"../resources/billing/client/Client.mjs\";\nimport { KeysClient } from \"../resources/keys/client/Client.mjs\";\nimport { MembersClient } from \"../resources/members/client/Client.mjs\";\nimport { ModelsClient } from \"../resources/models/client/Client.mjs\";\nimport { RequestsClient } from \"../resources/requests/client/Client.mjs\";\nimport { UsageClient } from \"../resources/usage/client/Client.mjs\";\nexport class ProjectsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get keys() {\n var _a;\n return ((_a = this._keys) !== null && _a !== void 0 ? _a : (this._keys = new KeysClient(this._options)));\n }\n get members() {\n var _a;\n return ((_a = this._members) !== null && _a !== void 0 ? _a : (this._members = new MembersClient(this._options)));\n }\n get models() {\n var _a;\n return ((_a = this._models) !== null && _a !== void 0 ? _a : (this._models = new ModelsClient(this._options)));\n }\n get requests() {\n var _a;\n return ((_a = this._requests) !== null && _a !== void 0 ? _a : (this._requests = new RequestsClient(this._options)));\n }\n get usage() {\n var _a;\n return ((_a = this._usage) !== null && _a !== void 0 ? _a : (this._usage = new UsageClient(this._options)));\n }\n get billing() {\n var _a;\n return ((_a = this._billing) !== null && _a !== void 0 ? _a : (this._billing = new BillingClient(this._options)));\n }\n /**\n * Retrieves basic information about the projects associated with the API key\n *\n * @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.list()\n */\n list(requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(requestOptions));\n }\n __list(requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/projects\"),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects\");\n });\n }\n /**\n * Retrieves information about the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.ProjectsGetRequest} request\n * @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.get(\"123456-7890-1234-5678-901234\", {\n * limit: 1.1,\n * page: 1.1\n * })\n */\n get(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, request, requestOptions));\n }\n __get(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { limit, page } = request;\n const _queryParams = {\n limit,\n page,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}\");\n });\n }\n /**\n * Deletes the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.delete(\"123456-7890-1234-5678-901234\")\n */\n delete(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, requestOptions));\n }\n __delete(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}\");\n });\n }\n /**\n * Updates the name or other properties of an existing project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.manage.v1.UpdateProjectV1Request} request\n * @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.update(\"123456-7890-1234-5678-901234\")\n */\n update(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__update(project_id, request, requestOptions));\n }\n __update(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}`),\n method: \"PATCH\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"PATCH\", \"/v1/projects/{project_id}\");\n });\n }\n /**\n * Removes the authenticated account from the specific project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {ProjectsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.manage.v1.projects.leave(\"123456-7890-1234-5678-901234\")\n */\n leave(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__leave(project_id, requestOptions));\n }\n __leave(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/leave`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/leave\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { ModelsClient } from \"../resources/models/client/Client.mjs\";\nimport { ProjectsClient } from \"../resources/projects/client/Client.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get models() {\n var _a;\n return ((_a = this._models) !== null && _a !== void 0 ? _a : (this._models = new ModelsClient(this._options)));\n }\n get projects() {\n var _a;\n return ((_a = this._projects) !== null && _a !== void 0 ? _a : (this._projects = new ProjectsClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class ManageClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class TextClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Analyze text content using Deepgrams text analysis API\n *\n * @param {Deepgram.read.v1.TextAnalyzeRequest} request\n * @param {TextClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.read.v1.text.analyze({\n * callback: \"callback\",\n * callback_method: \"POST\",\n * sentiment: true,\n * summarize: \"v2\",\n * tag: \"tag\",\n * topics: true,\n * custom_topic: \"custom_topic\",\n * custom_topic_mode: \"extended\",\n * intents: true,\n * custom_intent: \"custom_intent\",\n * custom_intent_mode: \"extended\",\n * language: \"language\",\n * body: {\n * url: \"url\"\n * }\n * })\n */\n analyze(request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__analyze(request, requestOptions));\n }\n __analyze(request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { callback, callback_method: callbackMethod, sentiment, summarize, tag, topics, custom_topic: customTopic, custom_topic_mode: customTopicMode, intents, custom_intent: customIntent, custom_intent_mode: customIntentMode, language, body: _body, } = request;\n const _queryParams = {\n callback,\n callback_method: callbackMethod != null ? callbackMethod : undefined,\n sentiment,\n summarize: summarize != null ? summarize : undefined,\n tag,\n topics,\n custom_topic: customTopic,\n custom_topic_mode: customTopicMode != null ? customTopicMode : undefined,\n intents,\n custom_intent: customIntent,\n custom_intent_mode: customIntentMode != null ? customIntentMode : undefined,\n language,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/read\"),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n requestType: \"json\",\n body: _body,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/read\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { TextClient } from \"../resources/text/client/Client.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get text() {\n var _a;\n return ((_a = this._text) !== null && _a !== void 0 ? _a : (this._text = new TextClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class ReadClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class DistributionCredentialsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Lists sets of distribution credentials for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {DistributionCredentialsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.selfHosted.v1.distributionCredentials.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/self-hosted/distribution/credentials`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/self-hosted/distribution/credentials\");\n });\n }\n /**\n * Creates a set of distribution credentials for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.selfHosted.v1.CreateProjectDistributionCredentialsV1Request} request\n * @param {DistributionCredentialsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.selfHosted.v1.distributionCredentials.create(\"123456-7890-1234-5678-901234\", {\n * scopes: [\"self-hosted:products\"],\n * provider: \"quay\"\n * })\n */\n create(project_id, request = {}, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__create(project_id, request, requestOptions));\n }\n __create(project_id_1) {\n return __awaiter(this, arguments, void 0, function* (project_id, request = {}, requestOptions) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { scopes, provider } = request, _body = __rest(request, [\"scopes\", \"provider\"]);\n const _queryParams = {\n scopes: Array.isArray(scopes) ? scopes.map((item) => item) : scopes != null ? scopes : undefined,\n provider: provider != null ? provider : undefined,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/self-hosted/distribution/credentials`),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n requestType: \"json\",\n body: _body,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/projects/{project_id}/self-hosted/distribution/credentials\");\n });\n }\n /**\n * Returns a set of distribution credentials for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} distribution_credentials_id - The UUID of the distribution credentials\n * @param {DistributionCredentialsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.selfHosted.v1.distributionCredentials.get(\"123456-7890-1234-5678-901234\", \"8b36cfd0-472f-4a21-833f-2d6343c3a2f3\")\n */\n get(project_id, distribution_credentials_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, distribution_credentials_id, requestOptions));\n }\n __get(project_id, distribution_credentials_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/self-hosted/distribution/credentials/${core.url.encodePathParam(distribution_credentials_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/self-hosted/distribution/credentials/{distribution_credentials_id}\");\n });\n }\n /**\n * Deletes a set of distribution credentials for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} distribution_credentials_id - The UUID of the distribution credentials\n * @param {DistributionCredentialsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.selfHosted.v1.distributionCredentials.delete(\"123456-7890-1234-5678-901234\", \"8b36cfd0-472f-4a21-833f-2d6343c3a2f3\")\n */\n delete(project_id, distribution_credentials_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, distribution_credentials_id, requestOptions));\n }\n __delete(project_id, distribution_credentials_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/self-hosted/distribution/credentials/${core.url.encodePathParam(distribution_credentials_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/self-hosted/distribution/credentials/{distribution_credentials_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { DistributionCredentialsClient } from \"../resources/distributionCredentials/client/Client.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get distributionCredentials() {\n var _a;\n return ((_a = this._distributionCredentials) !== null && _a !== void 0 ? _a : (this._distributionCredentials = new DistributionCredentialsClient(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class SelfHostedClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { normalizeClientOptionsWithAuth, } from \"../../../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../../../index.mjs\";\nexport class AudioClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Convert text into natural-sounding speech using Deepgram's TTS REST API\n *\n * @throws {@link Deepgram.BadRequestError}\n */\n generate(request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__generate(request, requestOptions));\n }\n __generate(request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const { callback, callback_method: callbackMethod, mip_opt_out: mipOptOut, tag, bit_rate: bitRate, container, encoding, model, sample_rate: sampleRate, speed } = request, _body = __rest(request, [\"callback\", \"callback_method\", \"mip_opt_out\", \"tag\", \"bit_rate\", \"container\", \"encoding\", \"model\", \"sample_rate\", \"speed\"]);\n const _queryParams = {\n callback,\n callback_method: callbackMethod != null ? callbackMethod : undefined,\n mip_opt_out: mipOptOut,\n tag,\n bit_rate: bitRate,\n container: container != null ? container : undefined,\n encoding: encoding != null ? encoding : undefined,\n model: model != null ? model : undefined,\n sample_rate: sampleRate,\n speed,\n };\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, \"v1/speak\"),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url\n .queryBuilder()\n .addMany(_queryParams)\n .mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams)\n .build(),\n requestType: \"json\",\n body: _body,\n responseType: \"binary-response\",\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/speak\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { fromJson, toJson } from \"../../../../../../core/json.mjs\";\nexport class V1Socket {\n constructor(args) {\n this.eventHandlers = {};\n this.handleOpen = () => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).open) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n this.handleMessage = (event) => {\n var _a, _b;\n const data = fromJson(event.data);\n (_b = (_a = this.eventHandlers).message) === null || _b === void 0 ? void 0 : _b.call(_a, data);\n };\n this.handleClose = (event) => {\n var _a, _b;\n (_b = (_a = this.eventHandlers).close) === null || _b === void 0 ? void 0 : _b.call(_a, event);\n };\n this.handleError = (event) => {\n var _a, _b;\n const message = event.message;\n (_b = (_a = this.eventHandlers).error) === null || _b === void 0 ? void 0 : _b.call(_a, new Error(message));\n };\n this.socket = args.socket;\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n }\n /** The current state of the connection; this is one of the readyState constants. */\n get readyState() {\n return this.socket.readyState;\n }\n /**\n * @param event - The event to attach to.\n * @param callback - The callback to run when the event is triggered.\n * Usage:\n * ```typescript\n * this.on('open', () => {\n * console.log('The websocket is open');\n * });\n * ```\n */\n on(event, callback) {\n this.eventHandlers[event] = callback;\n }\n sendText(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendFlush(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendClear(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n sendClose(message) {\n this.assertSocketIsOpen();\n this.sendJson(message);\n }\n /** Connect to the websocket and register event handlers. */\n connect() {\n this.socket.reconnect();\n this.socket.addEventListener(\"open\", this.handleOpen);\n this.socket.addEventListener(\"message\", this.handleMessage);\n this.socket.addEventListener(\"close\", this.handleClose);\n this.socket.addEventListener(\"error\", this.handleError);\n return this;\n }\n /** Close the websocket and unregister event handlers. */\n close() {\n this.socket.close();\n this.handleClose({ code: 1000 });\n this.socket.removeEventListener(\"open\", this.handleOpen);\n this.socket.removeEventListener(\"message\", this.handleMessage);\n this.socket.removeEventListener(\"close\", this.handleClose);\n this.socket.removeEventListener(\"error\", this.handleError);\n }\n /** Returns a promise that resolves when the websocket is open. */\n waitForOpen() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.socket.readyState === core.ReconnectingWebSocket.ReadyState.OPEN) {\n return this.socket;\n }\n return new Promise((resolve, reject) => {\n this.socket.addEventListener(\"open\", () => {\n resolve(this.socket);\n });\n this.socket.addEventListener(\"error\", (event) => {\n reject(event);\n });\n });\n });\n }\n /** Asserts that the websocket is open. */\n assertSocketIsOpen() {\n if (!this.socket) {\n throw new Error(\"Socket is not connected.\");\n }\n if (this.socket.readyState !== core.ReconnectingWebSocket.ReadyState.OPEN) {\n throw new Error(\"Socket is not open.\");\n }\n }\n /** Send a binary payload to the websocket. */\n sendBinary(payload) {\n this.socket.send(payload);\n }\n /** Send a JSON payload to the websocket. */\n sendJson(payload) {\n const jsonPayload = toJson(payload);\n this.socket.send(jsonPayload);\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders, mergeOnlyDefinedHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport { toJson } from \"../../../../../../core/json.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { AudioClient } from \"../resources/audio/client/Client.mjs\";\nimport { V1Socket } from \"./Socket.mjs\";\nexport class V1Client {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get audio() {\n var _a;\n return ((_a = this._audio) !== null && _a !== void 0 ? _a : (this._audio = new AudioClient(this._options)));\n }\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c;\n const { encoding, mip_opt_out: mipOptOut, model, sample_rate: sampleRate, speed, protocols, queryParams, headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal, } = args;\n const _queryParams = {\n encoding: encoding != null ? encoding : undefined,\n mip_opt_out: mipOptOut != null ? (typeof mipOptOut === \"string\" ? mipOptOut : toJson(mipOptOut)) : undefined,\n model: model != null ? model : undefined,\n sample_rate: sampleRate != null ? sampleRate : undefined,\n speed,\n };\n const _headers = mergeHeaders((_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, mergeOnlyDefinedHeaders({ Authorization: args.Authorization }), headers);\n const socket = new core.ReconnectingWebSocket({\n url: core.url.join((_b = (yield core.Supplier.get(this._options.baseUrl))) !== null && _b !== void 0 ? _b : ((_c = (yield core.Supplier.get(this._options.environment))) !== null && _c !== void 0 ? _c : environments.DeepgramEnvironment.Production).production, \"/v1/speak\"),\n protocols: protocols !== null && protocols !== void 0 ? protocols : [],\n queryParameters: Object.assign(Object.assign({}, _queryParams), queryParams),\n headers: _headers,\n options: {\n debug: debug !== null && debug !== void 0 ? debug : false,\n maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30,\n connectionTimeout: connectionTimeoutInSeconds != null ? connectionTimeoutInSeconds * 1000 : undefined,\n },\n abortSignal: abortSignal,\n });\n return new V1Socket({ socket });\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { V1Client } from \"../resources/v1/client/Client.mjs\";\nexport class SpeakClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get v1() {\n var _a;\n return ((_a = this._v1) !== null && _a !== void 0 ? _a : (this._v1 = new V1Client(this._options)));\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../index.mjs\";\nexport class ConfigurationsClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Returns all agent configurations for the specified project. Configurations are returned in their uninterpolated form—template variable placeholders appear as-is rather than with their substituted values.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {ConfigurationsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.configurations.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agents`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/agents\");\n });\n }\n /**\n * Creates a new reusable agent configuration. The `config` field must be a valid JSON string representing the `agent` block of a Settings message. The returned `agent_id` can be passed in place of the full `agent` object in future Settings messages.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.voiceAgent.CreateAgentConfigurationV1Request} request\n * @param {ConfigurationsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.configurations.create(\"123456-7890-1234-5678-901234\", {\n * config: \"config\"\n * })\n */\n create(project_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__create(project_id, request, requestOptions));\n }\n __create(project_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agents`),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/projects/{project_id}/agents\");\n });\n }\n /**\n * Returns the specified agent configuration in its uninterpolated form\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} agent_id - The unique identifier of the agent configuration\n * @param {ConfigurationsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.configurations.get(\"123456-7890-1234-5678-901234\", \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\")\n */\n get(project_id, agent_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, agent_id, requestOptions));\n }\n __get(project_id, agent_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agents/${core.url.encodePathParam(agent_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/agents/{agent_id}\");\n });\n }\n /**\n * Updates the metadata associated with an agent configuration. The config itself is immutable—to change the configuration, delete the existing agent and create a new one.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} agent_id - The unique identifier of the agent configuration\n * @param {Deepgram.voiceAgent.UpdateAgentMetadataV1Request} request\n * @param {ConfigurationsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.configurations.update(\"123456-7890-1234-5678-901234\", \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\", {\n * metadata: {\n * \"key\": \"value\"\n * }\n * })\n */\n update(project_id, agent_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__update(project_id, agent_id, request, requestOptions));\n }\n __update(project_id, agent_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agents/${core.url.encodePathParam(agent_id)}`),\n method: \"PUT\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"PUT\", \"/v1/projects/{project_id}/agents/{agent_id}\");\n });\n }\n /**\n * Deletes the specified agent configuration. Deleting an agent configuration can cause a production outage if your service references this agent UUID. Migrate all active sessions to a new configuration before deleting.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} agent_id - The unique identifier of the agent configuration\n * @param {ConfigurationsClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.configurations.delete(\"123456-7890-1234-5678-901234\", \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\")\n */\n delete(project_id, agent_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, agent_id, requestOptions));\n }\n __delete(project_id, agent_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agents/${core.url.encodePathParam(agent_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/agents/{agent_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { normalizeClientOptionsWithAuth } from \"../../../../../../BaseClient.mjs\";\nimport { mergeHeaders } from \"../../../../../../core/headers.mjs\";\nimport * as core from \"../../../../../../core/index.mjs\";\nimport * as environments from \"../../../../../../environments.mjs\";\nimport { handleNonStatusCodeError } from \"../../../../../../errors/handleNonStatusCodeError.mjs\";\nimport * as errors from \"../../../../../../errors/index.mjs\";\nimport * as Deepgram from \"../../../../../index.mjs\";\nexport class VariablesClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n /**\n * Returns all template variables for the specified project\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {VariablesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.variables.list(\"123456-7890-1234-5678-901234\")\n */\n list(project_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__list(project_id, requestOptions));\n }\n __list(project_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agent-variables`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/agent-variables\");\n });\n }\n /**\n * Creates a new template variable. Variables follow the `DG_<VARIABLE_NAME>` naming format and can substitute any JSON value in an agent configuration.\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {Deepgram.voiceAgent.CreateAgentVariableV1Request} request\n * @param {VariablesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.variables.create(\"project_id\", {\n * key: \"key\",\n * value: {\n * \"key\": \"value\"\n * }\n * })\n */\n create(project_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__create(project_id, request, requestOptions));\n }\n __create(project_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agent-variables`),\n method: \"POST\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"POST\", \"/v1/projects/{project_id}/agent-variables\");\n });\n }\n /**\n * Returns the specified template variable\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} variable_id - The unique identifier of the agent variable\n * @param {VariablesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.variables.get(\"123456-7890-1234-5678-901234\", \"v1a2b3c4-d5e6-7890-abcd-ef1234567890\")\n */\n get(project_id, variable_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__get(project_id, variable_id, requestOptions));\n }\n __get(project_id, variable_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agent-variables/${core.url.encodePathParam(variable_id)}`),\n method: \"GET\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"GET\", \"/v1/projects/{project_id}/agent-variables/{variable_id}\");\n });\n }\n /**\n * Deletes the specified template variable\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} variable_id - The unique identifier of the agent variable\n * @param {VariablesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.variables.delete(\"123456-7890-1234-5678-901234\", \"v1a2b3c4-d5e6-7890-abcd-ef1234567890\")\n */\n delete(project_id, variable_id, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__delete(project_id, variable_id, requestOptions));\n }\n __delete(project_id, variable_id, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agent-variables/${core.url.encodePathParam(variable_id)}`),\n method: \"DELETE\",\n headers: _headers,\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return {\n data: _response.body,\n rawResponse: _response.rawResponse,\n };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"DELETE\", \"/v1/projects/{project_id}/agent-variables/{variable_id}\");\n });\n }\n /**\n * Updates the value of an existing template variable\n *\n * @param {string} project_id - The unique identifier of the project\n * @param {string} variable_id - The unique identifier of the agent variable\n * @param {Deepgram.voiceAgent.UpdateAgentVariableV1Request} request\n * @param {VariablesClient.RequestOptions} requestOptions - Request-specific configuration.\n *\n * @throws {@link Deepgram.BadRequestError}\n *\n * @example\n * await client.voiceAgent.variables.update(\"project_id\", \"variable_id\", {\n * value: {\n * \"key\": \"value\"\n * }\n * })\n */\n update(project_id, variable_id, request, requestOptions) {\n return core.HttpResponsePromise.fromPromise(this.__update(project_id, variable_id, request, requestOptions));\n }\n __update(project_id, variable_id, request, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n const _authRequest = yield this._options.authProvider.getAuthRequest();\n const _headers = mergeHeaders(_authRequest.headers, (_a = this._options) === null || _a === void 0 ? void 0 : _a.headers, requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers);\n const _response = yield ((_b = this._options.fetcher) !== null && _b !== void 0 ? _b : core.fetcher)({\n url: core.url.join((_c = (yield core.Supplier.get(this._options.baseUrl))) !== null && _c !== void 0 ? _c : ((_d = (yield core.Supplier.get(this._options.environment))) !== null && _d !== void 0 ? _d : environments.DeepgramEnvironment.Production).base, `v1/projects/${core.url.encodePathParam(project_id)}/agent-variables/${core.url.encodePathParam(variable_id)}`),\n method: \"PATCH\",\n headers: _headers,\n contentType: \"application/json\",\n queryString: core.url.queryBuilder().mergeAdditional(requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.queryParams).build(),\n requestType: \"json\",\n body: request,\n timeoutMs: ((_g = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _e !== void 0 ? _e : (_f = this._options) === null || _f === void 0 ? void 0 : _f.timeoutInSeconds) !== null && _g !== void 0 ? _g : 60) * 1000,\n maxRetries: (_h = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _h !== void 0 ? _h : (_j = this._options) === null || _j === void 0 ? void 0 : _j.maxRetries,\n abortSignal: requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal,\n fetchFn: (_k = this._options) === null || _k === void 0 ? void 0 : _k.fetch,\n logging: this._options.logging,\n });\n if (_response.ok) {\n return { data: _response.body, rawResponse: _response.rawResponse };\n }\n if (_response.error.reason === \"status-code\") {\n switch (_response.error.statusCode) {\n case 400:\n throw new Deepgram.BadRequestError(_response.error.body, _response.rawResponse);\n default:\n throw new errors.DeepgramError({\n statusCode: _response.error.statusCode,\n body: _response.error.body,\n rawResponse: _response.rawResponse,\n });\n }\n }\n return handleNonStatusCodeError(_response.error, _response.rawResponse, \"PATCH\", \"/v1/projects/{project_id}/agent-variables/{variable_id}\");\n });\n }\n}\n","// This file was auto-generated by Fern from our API Definition.\nimport { normalizeClientOptionsWithAuth } from \"../../../../BaseClient.mjs\";\nimport { ConfigurationsClient } from \"../resources/configurations/client/Client.mjs\";\nimport { VariablesClient } from \"../resources/variables/client/Client.mjs\";\nexport class VoiceAgentClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get configurations() {\n var _a;\n return ((_a = this._configurations) !== null && _a !== void 0 ? _a : (this._configurations = new ConfigurationsClient(this._options)));\n }\n get variables() {\n var _a;\n return ((_a = this._variables) !== null && _a !== void 0 ? _a : (this._variables = new VariablesClient(this._options)));\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { createLogger } from \"../logging/logger.mjs\";\nimport { join } from \"../url/join.mjs\";\nimport { EndpointSupplier } from \"./EndpointSupplier.mjs\";\nimport { getFetchFn } from \"./getFetchFn.mjs\";\nimport { makeRequest } from \"./makeRequest.mjs\";\nimport { requestWithRetries } from \"./requestWithRetries.mjs\";\nimport { Supplier } from \"./Supplier.mjs\";\n/**\n * Makes a passthrough HTTP request using the SDK's configuration (auth, retry, logging, etc.)\n * while mimicking the standard `fetch` API.\n *\n * @param input - The URL, path, or Request object. If a relative path, it will be resolved against the configured base URL.\n * @param init - Standard RequestInit options (method, headers, body, signal, etc.)\n * @param clientOptions - SDK client options (auth, default headers, logging, etc.)\n * @param requestOptions - Per-request overrides (timeout, retries, extra headers, abort signal).\n * @returns A standard Response object.\n */\nexport function makePassthroughRequest(input, init, clientOptions, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b, _c, _d, _e, _f, _g;\n const logger = createLogger(clientOptions.logging);\n // Extract URL and default init properties from Request object if provided\n let url;\n let effectiveInit = init;\n if (input instanceof Request) {\n url = input.url;\n // If no explicit init provided, extract properties from the Request object\n if (init == null) {\n effectiveInit = {\n method: input.method,\n headers: Object.fromEntries(input.headers.entries()),\n body: input.body,\n signal: input.signal,\n credentials: input.credentials,\n cache: input.cache,\n redirect: input.redirect,\n referrer: input.referrer,\n integrity: input.integrity,\n mode: input.mode,\n };\n }\n }\n else {\n url = input instanceof URL ? input.toString() : input;\n }\n // Resolve the base URL\n const baseUrl = (_a = (clientOptions.baseUrl != null ? yield Supplier.get(clientOptions.baseUrl) : undefined)) !== null && _a !== void 0 ? _a : (clientOptions.environment != null ? yield Supplier.get(clientOptions.environment) : undefined);\n // Determine the full URL\n let fullUrl;\n if (url.startsWith(\"http://\") || url.startsWith(\"https://\")) {\n fullUrl = url;\n }\n else if (baseUrl != null) {\n fullUrl = join(baseUrl, url);\n }\n else {\n fullUrl = url;\n }\n // Merge headers: SDK default headers -> auth headers -> user-provided headers\n const mergedHeaders = {};\n // Apply SDK default headers (resolve suppliers)\n if (clientOptions.headers != null) {\n for (const [key, value] of Object.entries(clientOptions.headers)) {\n const resolved = yield EndpointSupplier.get(value, { endpointMetadata: {} });\n if (resolved != null) {\n mergedHeaders[key.toLowerCase()] = `${resolved}`;\n }\n }\n }\n // Apply auth headers\n if (clientOptions.getAuthHeaders != null) {\n const authHeaders = yield clientOptions.getAuthHeaders();\n for (const [key, value] of Object.entries(authHeaders)) {\n mergedHeaders[key.toLowerCase()] = value;\n }\n }\n // Apply user-provided headers from init\n if ((effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.headers) != null) {\n const initHeaders = effectiveInit.headers instanceof Headers\n ? Object.fromEntries(effectiveInit.headers.entries())\n : Array.isArray(effectiveInit.headers)\n ? Object.fromEntries(effectiveInit.headers)\n : effectiveInit.headers;\n for (const [key, value] of Object.entries(initHeaders)) {\n if (value != null) {\n mergedHeaders[key.toLowerCase()] = value;\n }\n }\n }\n // Apply per-request option headers (highest priority)\n if ((requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.headers) != null) {\n for (const [key, value] of Object.entries(requestOptions.headers)) {\n mergedHeaders[key.toLowerCase()] = value;\n }\n }\n const method = (_b = effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.method) !== null && _b !== void 0 ? _b : \"GET\";\n const body = effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.body;\n const timeoutInSeconds = (_c = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.timeoutInSeconds) !== null && _c !== void 0 ? _c : clientOptions.timeoutInSeconds;\n const timeoutMs = timeoutInSeconds != null ? timeoutInSeconds * 1000 : undefined;\n const maxRetries = (_d = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.maxRetries) !== null && _d !== void 0 ? _d : clientOptions.maxRetries;\n const abortSignal = (_f = (_e = requestOptions === null || requestOptions === void 0 ? void 0 : requestOptions.abortSignal) !== null && _e !== void 0 ? _e : effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.signal) !== null && _f !== void 0 ? _f : undefined;\n const fetchFn = (_g = clientOptions.fetch) !== null && _g !== void 0 ? _g : (yield getFetchFn());\n if (logger.isDebug()) {\n logger.debug(\"Making passthrough HTTP request\", {\n method,\n url: fullUrl,\n hasBody: body != null,\n });\n }\n const response = yield requestWithRetries(() => __awaiter(this, void 0, void 0, function* () {\n return makeRequest(fetchFn, fullUrl, method, mergedHeaders, body !== null && body !== void 0 ? body : undefined, timeoutMs, abortSignal, (effectiveInit === null || effectiveInit === void 0 ? void 0 : effectiveInit.credentials) === \"include\", undefined, // duplex\n false);\n }), maxRetries);\n if (logger.isDebug()) {\n logger.debug(\"Passthrough HTTP request completed\", {\n method,\n url: fullUrl,\n statusCode: response.status,\n });\n }\n return response;\n });\n}\n","// This file was auto-generated by Fern from our API Definition.\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { AgentClient } from \"./api/resources/agent/client/Client.mjs\";\nimport { AuthClient } from \"./api/resources/auth/client/Client.mjs\";\nimport { ListenClient } from \"./api/resources/listen/client/Client.mjs\";\nimport { ManageClient } from \"./api/resources/manage/client/Client.mjs\";\nimport { ReadClient } from \"./api/resources/read/client/Client.mjs\";\nimport { SelfHostedClient } from \"./api/resources/selfHosted/client/Client.mjs\";\nimport { SpeakClient } from \"./api/resources/speak/client/Client.mjs\";\nimport { VoiceAgentClient } from \"./api/resources/voiceAgent/client/Client.mjs\";\nimport { normalizeClientOptionsWithAuth } from \"./BaseClient.mjs\";\nimport * as core from \"./core/index.mjs\";\nimport * as environments from \"./environments.mjs\";\nexport class DeepgramClient {\n constructor(options = {}) {\n this._options = normalizeClientOptionsWithAuth(options);\n }\n get agent() {\n var _a;\n return ((_a = this._agent) !== null && _a !== void 0 ? _a : (this._agent = new AgentClient(this._options)));\n }\n get auth() {\n var _a;\n return ((_a = this._auth) !== null && _a !== void 0 ? _a : (this._auth = new AuthClient(this._options)));\n }\n get listen() {\n var _a;\n return ((_a = this._listen) !== null && _a !== void 0 ? _a : (this._listen = new ListenClient(this._options)));\n }\n get manage() {\n var _a;\n return ((_a = this._manage) !== null && _a !== void 0 ? _a : (this._manage = new ManageClient(this._options)));\n }\n get read() {\n var _a;\n return ((_a = this._read) !== null && _a !== void 0 ? _a : (this._read = new ReadClient(this._options)));\n }\n get selfHosted() {\n var _a;\n return ((_a = this._selfHosted) !== null && _a !== void 0 ? _a : (this._selfHosted = new SelfHostedClient(this._options)));\n }\n get speak() {\n var _a;\n return ((_a = this._speak) !== null && _a !== void 0 ? _a : (this._speak = new SpeakClient(this._options)));\n }\n get voiceAgent() {\n var _a;\n return ((_a = this._voiceAgent) !== null && _a !== void 0 ? _a : (this._voiceAgent = new VoiceAgentClient(this._options)));\n }\n /**\n * Make a passthrough request using the SDK's configured auth, retry, logging, etc.\n * This is useful for making requests to endpoints not yet supported in the SDK.\n * The input can be a URL string, URL object, or Request object. Relative paths are resolved against the configured base URL.\n *\n * @param {Request | string | URL} input - The URL, path, or Request object.\n * @param {RequestInit} init - Standard fetch RequestInit options.\n * @param {core.PassthroughRequest.RequestOptions} requestOptions - Per-request overrides (timeout, retries, headers, abort signal).\n * @returns {Promise<Response>} A standard Response object.\n */\n fetch(input, init, requestOptions) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n return core.makePassthroughRequest(input, init, {\n // Patch: the 2026-05-14 regen switched this default from `base`\n // (api.deepgram.com) to `agentRest` (agent.deepgram.com) after\n // the new agentRest slot was introduced upstream. The passthrough\n // helper is documented as the catch-all for endpoints not yet\n // supported in the SDK — it should default to the canonical\n // Deepgram REST host, not the agent host. Restoring `base`.\n baseUrl: (_a = this._options.baseUrl) !== null && _a !== void 0 ? _a : (() => __awaiter(this, void 0, void 0, function* () {\n var _a;\n const env = yield core.Supplier.get(this._options.environment);\n return typeof env === \"string\"\n ? env\n : ((_a = env === null || env === void 0 ? void 0 : env.base) !== null && _a !== void 0 ? _a : environments.DeepgramEnvironment.Production.base);\n })),\n headers: this._options.headers,\n timeoutInSeconds: this._options.timeoutInSeconds,\n maxRetries: this._options.maxRetries,\n fetch: this._options.fetch,\n logging: this._options.logging,\n getAuthHeaders: () => __awaiter(this, void 0, void 0, function* () { return (yield this._options.authProvider.getAuthRequest()).headers; }),\n }, requestOptions);\n });\n }\n}\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { DeepgramClient } from \"./Client.mjs\";\nimport { ReconnectingWebSocket } from \"./core/websocket/ws.mjs\";\nimport { AgentClient as AgentClientImpl } from \"./api/resources/agent/client/Client.mjs\";\nimport { ListenClient as ListenClientImpl } from \"./api/resources/listen/client/Client.mjs\";\nimport { SpeakClient as SpeakClientImpl } from \"./api/resources/speak/client/Client.mjs\";\nimport { V1Client as AgentV1Client } from \"./api/resources/agent/resources/v1/client/Client.mjs\";\nimport { V1Client as ListenV1Client } from \"./api/resources/listen/resources/v1/client/Client.mjs\";\nimport { V2Client as ListenV2Client } from \"./api/resources/listen/resources/v2/client/Client.mjs\";\nimport { V1Client as SpeakV1Client } from \"./api/resources/speak/resources/v1/client/Client.mjs\";\nimport { V1Socket as AgentV1Socket } from \"./api/resources/agent/resources/v1/client/Socket.mjs\";\nimport { V1Socket as ListenV1Socket } from \"./api/resources/listen/resources/v1/client/Socket.mjs\";\nimport { V2Socket as ListenV2Socket } from \"./api/resources/listen/resources/v2/client/Socket.mjs\";\nimport { V1Socket as SpeakV1Socket } from \"./api/resources/speak/resources/v1/client/Socket.mjs\";\nimport { mergeHeaders } from \"./core/headers.mjs\";\nimport { fromJson } from \"./core/json.mjs\";\nimport * as core from \"./core/index.mjs\";\nimport * as environments from \"./environments.mjs\";\nimport { RUNTIME } from \"./core/runtime/index.mjs\";\n// Default WebSocket connection timeout in milliseconds\nconst DEFAULT_CONNECTION_TIMEOUT_MS = 10000;\n// Keys present in every ConnectArgs interface that control the WebSocket connection itself.\n// Every other key in ConnectArgs is treated as an API query parameter.\nconst WEBSOCKET_OPTION_KEYS = new Set([\n \"Authorization\",\n \"headers\",\n \"debug\",\n \"reconnectAttempts\",\n \"connectionTimeoutInSeconds\",\n \"abortSignal\",\n \"queryParams\",\n]);\n// ws for Node.js - loaded lazily to support CJS, ESM, and browser builds.\n// A static import of \"module\" (for createRequire) would break the browser bundle,\n// so we detect the environment at runtime and use an opaque dynamic import in ESM\n// Node so bundlers cannot statically analyse and reject it.\nlet NodeWebSocket;\nlet _wsInitialized = false;\nfunction loadNodeWebSocket() {\n return __awaiter(this, void 0, void 0, function* () {\n var _a;\n if (_wsInitialized)\n return;\n _wsInitialized = true;\n try {\n if (typeof require !== \"undefined\") {\n // CJS: require is injected as a module-scoped binding\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n let ws = require(\"ws\");\n NodeWebSocket = ws.WebSocket || ws.default || ws;\n }\n else if (typeof process !== \"undefined\" && ((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node)) {\n // ESM Node: require is not defined. Wrap import() in new Function so\n // bundlers (esbuild, webpack) cannot statically resolve or reject \"ws\".\n // eslint-disable-next-line no-new-func\n const dynamicImport = new Function(\"specifier\", \"return import(specifier)\");\n const ws = yield dynamicImport(\"ws\");\n NodeWebSocket = ws.WebSocket || ws.default || ws;\n }\n // Browser: process.versions?.node is undefined → NodeWebSocket stays undefined\n }\n catch (_b) {\n // ws not available or failed to load\n NodeWebSocket = undefined;\n }\n });\n}\n// Helper function to generate UUID that works in both Node.js and browser\nfunction generateUUID() {\n // Try global crypto.randomUUID first (works in both Node.js 14.18+ and modern browsers)\n if (typeof crypto !== \"undefined\" && typeof crypto.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n // Fallback for Node.js: use the crypto module\n if (RUNTIME.type === \"node\") {\n try {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const nodeCrypto = ({});\n return nodeCrypto.randomUUID();\n }\n catch (_a) {\n // Fallback if crypto module is not available\n }\n }\n // Final fallback: manual UUID generation (RFC4122 version 4)\n // This should work everywhere but is less secure than crypto.randomUUID()\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Wrapper auth provider that adds \"Token \" prefix to API keys.\n * The auto-generated HeaderAuthProvider doesn't add the prefix, so we wrap it here.\n */\nclass ApiKeyAuthProviderWrapper {\n constructor(originalProvider) {\n this.originalProvider = originalProvider;\n }\n getAuthRequest(arg) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n const authRequest = yield this.originalProvider.getAuthRequest(arg);\n const authHeader = ((_a = authRequest.headers) === null || _a === void 0 ? void 0 : _a.Authorization) || ((_b = authRequest.headers) === null || _b === void 0 ? void 0 : _b.authorization);\n // If the header doesn't already have a scheme prefix, add \"Token \" prefix for API keys\n if (authHeader && typeof authHeader === \"string\") {\n // Only add prefix if it doesn't already have Bearer or Token prefix\n if (!authHeader.startsWith(\"Bearer \") &&\n !authHeader.startsWith(\"Token \") &&\n !authHeader.startsWith(\"token \")) {\n return {\n headers: Object.assign(Object.assign({}, authRequest.headers), { Authorization: `Token ${authHeader}` }),\n };\n }\n }\n return authRequest;\n });\n }\n}\n/**\n * Wrapper auth provider that checks for accessToken first (Bearer scheme)\n * before falling back to the original auth provider (Token scheme for API keys).\n */\nclass AccessTokenAuthProviderWrapper {\n constructor(originalProvider, accessToken) {\n this.originalProvider = originalProvider;\n this.accessToken = accessToken;\n }\n getAuthRequest(arg) {\n return __awaiter(this, void 0, void 0, function* () {\n var _a, _b;\n // Check for access token first (highest priority)\n // Access tokens use Bearer scheme, API keys use Token scheme\n const accessToken = (_a = (yield core.Supplier.get(this.accessToken))) !== null && _a !== void 0 ? _a : (_b = process.env) === null || _b === void 0 ? void 0 : _b.DEEPGRAM_ACCESS_TOKEN;\n if (accessToken != null) {\n return {\n headers: { Authorization: `Bearer ${accessToken}` },\n };\n }\n // Fall back to original provider (which handles API keys)\n return this.originalProvider.getAuthRequest(arg);\n });\n }\n}\n/**\n * Custom wrapper around DeepgramClient that ensures the custom websocket implementation\n * from ws.ts is always used, even if the auto-generated code changes.\n */\nexport class CustomDeepgramClient extends DeepgramClient {\n constructor(options = {}) {\n // Generate a UUID for the session ID\n const sessionId = generateUUID();\n // Add the session ID to headers so it's included in all REST requests\n const optionsWithSessionId = Object.assign(Object.assign({}, options), { headers: Object.assign(Object.assign({}, options.headers), { \"x-deepgram-session-id\": sessionId }) });\n super(optionsWithSessionId);\n this._sessionId = sessionId;\n // Always wrap the auth provider to add \"Token \" prefix to API keys\n // The auto-generated HeaderAuthProvider doesn't add the prefix\n this._options.authProvider = new ApiKeyAuthProviderWrapper(this._options.authProvider);\n // Wrap again to handle accessToken if provided\n // This ensures accessToken takes priority over apiKey/env var\n if (options.accessToken != null) {\n this._options.authProvider = new AccessTokenAuthProviderWrapper(this._options.authProvider, options.accessToken);\n }\n }\n /**\n * Get the session ID that was generated for this client instance.\n */\n get sessionId() {\n return this._sessionId;\n }\n /**\n * Override the agent getter to return a wrapped client that ensures\n * the custom websocket implementation is used.\n */\n get agent() {\n if (!this._customAgent) {\n // Create a wrapper that ensures custom websocket is used\n this._customAgent = new WrappedAgentClient(this._options);\n }\n return this._customAgent;\n }\n /**\n * Override the listen getter to return a wrapped client that ensures\n * the custom websocket implementation is used.\n */\n get listen() {\n if (!this._customListen) {\n // Create a wrapper that ensures custom websocket is used\n this._customListen = new WrappedListenClient(this._options);\n }\n return this._customListen;\n }\n /**\n * Override the speak getter to return a wrapped client that ensures\n * the custom websocket implementation is used.\n */\n get speak() {\n if (!this._customSpeak) {\n // Create a wrapper that ensures custom websocket is used\n this._customSpeak = new WrappedSpeakClient(this._options);\n }\n return this._customSpeak;\n }\n}\n/**\n * Wrapper for AgentClient that ensures custom websocket implementation is used.\n *\n * This wrapper exists to guarantee that our custom WebSocket implementation\n * (from ws.ts) continues to be used even after the SDK code is auto-generated\n * by Fern. Without this wrapper, Fern regeneration could overwrite the client\n * with a different WebSocket implementation.\n */\nclass WrappedAgentClient extends AgentClientImpl {\n get v1() {\n return new WrappedAgentV1Client(this._options);\n }\n}\n/**\n * Wrapper for ListenClient that ensures custom websocket implementation is used.\n *\n * This wrapper exists to guarantee that our custom WebSocket implementation\n * (from ws.ts) continues to be used even after the SDK code is auto-generated\n * by Fern. Without this wrapper, Fern regeneration could overwrite the client\n * with a different WebSocket implementation.\n */\nclass WrappedListenClient extends ListenClientImpl {\n get v1() {\n return new WrappedListenV1Client(this._options);\n }\n get v2() {\n return new WrappedListenV2Client(this._options);\n }\n}\n/**\n * Wrapper for SpeakClient that ensures custom websocket implementation is used.\n *\n * This wrapper exists to guarantee that our custom WebSocket implementation\n * (from ws.ts) continues to be used even after the SDK code is auto-generated\n * by Fern. Without this wrapper, Fern regeneration could overwrite the client\n * with a different WebSocket implementation.\n */\nclass WrappedSpeakClient extends SpeakClientImpl {\n get v1() {\n return new WrappedSpeakV1Client(this._options);\n }\n}\n/**\n * Helper function to resolve Suppliers in headers to their actual values.\n */\nfunction resolveHeaders(headers) {\n return __awaiter(this, void 0, void 0, function* () {\n const resolved = {};\n for (const [key, value] of Object.entries(headers)) {\n if (value == null) {\n continue;\n }\n // Resolve Supplier if it's a Supplier, otherwise use the value directly\n const resolvedValue = yield core.Supplier.get(value);\n if (resolvedValue != null) {\n resolved[key] = resolvedValue;\n }\n }\n return resolved;\n });\n}\n/**\n * Builds API query parameters from a ConnectArgs object, excluding all WebSocket\n * infrastructure keys. This means any new typed parameter added to ConnectArgs by\n * the generator is automatically included without needing manual updates here.\n * An explicit `queryParams` override is merged in last.\n */\nfunction buildQueryParams(args) {\n const result = {};\n for (const [key, value] of Object.entries(args)) {\n if (!WEBSOCKET_OPTION_KEYS.has(key) && value != null) {\n result[key] = value;\n }\n }\n if (args.queryParams != null && typeof args.queryParams === \"object\") {\n Object.assign(result, args.queryParams);\n }\n return result;\n}\n/**\n * Helper function to get WebSocket class and handle headers/protocols based on runtime.\n * In Node.js, use the 'ws' library which supports headers.\n * In browser, use Sec-WebSocket-Protocol for authentication since headers aren't supported.\n */\nfunction getWebSocketOptions(headers) {\n const options = {};\n // Check if we're in a browser environment (browser or web-worker)\n const isBrowser = RUNTIME.type === \"browser\" || RUNTIME.type === \"web-worker\";\n // Extract session ID header\n const sessionIdHeader = headers[\"x-deepgram-session-id\"] || headers[\"X-Deepgram-Session-Id\"];\n // In Node.js, ensure we use the 'ws' library which supports headers\n if (RUNTIME.type === \"node\" && NodeWebSocket) {\n options.WebSocket = NodeWebSocket;\n options.headers = headers;\n }\n else if (isBrowser) {\n // In browser, native WebSocket doesn't support custom headers\n // Extract Authorization header and use Sec-WebSocket-Protocol instead\n const authHeader = headers.Authorization || headers.authorization;\n const browserHeaders = Object.assign({}, headers);\n // Remove Authorization and session ID from headers since they won't work in browser\n delete browserHeaders.Authorization;\n delete browserHeaders.authorization;\n delete browserHeaders[\"x-deepgram-session-id\"];\n delete browserHeaders[\"X-Deepgram-Session-Id\"];\n options.headers = browserHeaders;\n // Build protocols array for browser WebSocket\n const protocols = [];\n // If we have an Authorization header, extract the token and format as protocols\n // Deepgram expects:\n // - For API keys: Sec-WebSocket-Protocol: token,API_KEY_GOES_HERE\n // - For Bearer tokens: Sec-WebSocket-Protocol: bearer,TOKEN_GOES_HERE\n // The comma separates multiple protocols, so we pass them as an array\n if (authHeader && typeof authHeader === \"string\") {\n if (authHeader.startsWith(\"Token \")) {\n // API key: \"Token API_KEY\" -> [\"token\", \"API_KEY\"]\n const apiKey = authHeader.substring(6); // Remove \"Token \" prefix\n protocols.push(\"token\", apiKey);\n }\n else if (authHeader.startsWith(\"Bearer \")) {\n // Access token: \"Bearer TOKEN\" -> [\"bearer\", \"TOKEN\"]\n const token = authHeader.substring(7); // Remove \"Bearer \" prefix\n protocols.push(\"bearer\", token);\n }\n else {\n // Fallback: use the entire header value if it doesn't match expected format\n protocols.push(authHeader);\n }\n }\n // Add session ID as a protocol for browser WebSocket\n if (sessionIdHeader && typeof sessionIdHeader === \"string\") {\n protocols.push(\"x-deepgram-session-id\", sessionIdHeader);\n }\n if (protocols.length > 0) {\n options.protocols = protocols;\n }\n }\n else {\n // Fallback for other environments\n options.headers = headers;\n }\n return options;\n}\n/**\n * Helper function to setup binary-aware message handling for WebSocket sockets.\n * Handles both text (JSON) and binary messages correctly.\n */\nfunction setupBinaryHandling(socket, eventHandlers) {\n var _a;\n const binaryAwareHandler = (event) => {\n var _a, _b, _c;\n // Handle both text (JSON) and binary messages\n if (typeof event.data === \"string\") {\n try {\n const data = fromJson(event.data);\n (_a = eventHandlers.message) === null || _a === void 0 ? void 0 : _a.call(eventHandlers, data);\n }\n catch (error) {\n // If JSON parsing fails, pass the raw string\n (_b = eventHandlers.message) === null || _b === void 0 ? void 0 : _b.call(eventHandlers, event.data);\n }\n }\n else {\n // Binary data - pass through as-is\n (_c = eventHandlers.message) === null || _c === void 0 ? void 0 : _c.call(eventHandlers, event.data);\n }\n };\n // Remove the original handler and add our binary-aware one\n const socketAny = socket;\n if ((_a = socketAny._listeners) === null || _a === void 0 ? void 0 : _a.message) {\n // Remove all message listeners\n socketAny._listeners.message.forEach((listener) => {\n socket.removeEventListener(\"message\", listener);\n });\n }\n // Add our binary-aware handler\n socket.addEventListener(\"message\", binaryAwareHandler);\n return binaryAwareHandler;\n}\n/**\n * Helper to prevent duplicate event listeners on WebSocket connections.\n * This removes all event listeners that were registered by the auto-generated\n * Socket class constructor, preventing duplicate event firing when connect() is called.\n */\nfunction preventDuplicateEventListeners(socket, handlers) {\n // Remove the handlers that were added by the auto-generated constructor\n if (handlers.handleOpen) {\n socket.removeEventListener(\"open\", handlers.handleOpen);\n }\n if (handlers.handleMessage) {\n socket.removeEventListener(\"message\", handlers.handleMessage);\n }\n if (handlers.handleClose) {\n socket.removeEventListener(\"close\", handlers.handleClose);\n }\n if (handlers.handleError) {\n socket.removeEventListener(\"error\", handlers.handleError);\n }\n}\n/**\n * Helper function to reset socket connection state before connecting.\n * Ensures _connectLock is reset if the socket is in CLOSED state.\n */\nfunction resetSocketConnectionState(socket) {\n if (socket.readyState === socket.CLOSED) {\n // Force a fresh reconnect to ensure _connectLock is reset\n socket._connectLock = false;\n socket._shouldReconnect = true;\n }\n}\n/**\n * Helper function to create a WebSocket connection with common setup logic.\n * Handles authentication, header merging, and WebSocket configuration.\n * This reduces duplication across all Wrapped*Client classes.\n */\nfunction createWebSocketConnection(_a) {\n return __awaiter(this, arguments, void 0, function* ({ options, urlPath, environmentKey, queryParams, headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal, }) {\n var _b, _c, _d, _e, _f, _g;\n // Ensure ws is loaded for Node.js environments (no-op after first call)\n yield loadNodeWebSocket();\n // Get Authorization from authProvider (cast to any to access internal property)\n const authRequest = yield ((_b = options.authProvider) === null || _b === void 0 ? void 0 : _b.getAuthRequest());\n // Merge headers from options (which includes session ID), auth headers, and request headers\n const mergedHeaders = mergeHeaders((_c = options.headers) !== null && _c !== void 0 ? _c : {}, (_d = authRequest === null || authRequest === void 0 ? void 0 : authRequest.headers) !== null && _d !== void 0 ? _d : {}, headers);\n // Resolve any Suppliers in headers to actual values\n const _headers = yield resolveHeaders(mergedHeaders);\n // Get WebSocket options with proper header handling\n const wsOptions = getWebSocketOptions(_headers);\n // Get the appropriate base URL for the environment\n const baseUrl = (_e = (yield core.Supplier.get(options.baseUrl))) !== null && _e !== void 0 ? _e : ((_f = (yield core.Supplier.get(options.environment))) !== null && _f !== void 0 ? _f : environments.DeepgramEnvironment.Production)[environmentKey];\n // Create and return the ReconnectingWebSocket\n return new ReconnectingWebSocket({\n url: core.url.join(baseUrl, urlPath),\n protocols: (_g = wsOptions.protocols) !== null && _g !== void 0 ? _g : [],\n queryParameters: queryParams,\n headers: wsOptions.headers,\n options: {\n WebSocket: wsOptions.WebSocket,\n debug: debug !== null && debug !== void 0 ? debug : false,\n maxRetries: reconnectAttempts !== null && reconnectAttempts !== void 0 ? reconnectAttempts : 30,\n startClosed: true,\n connectionTimeout: connectionTimeoutInSeconds != null ? connectionTimeoutInSeconds * 1000 : DEFAULT_CONNECTION_TIMEOUT_MS,\n },\n abortSignal,\n });\n });\n}\n/**\n * Wrapper for Agent V1Client that overrides connect to use custom websocket.\n *\n * This wrapper ensures that the connect() method uses our custom ReconnectingWebSocket\n * implementation instead of any auto-generated WebSocket handling. This guarantees\n * consistent behavior across Fern regenerations and allows us to customize\n * connection setup, authentication, and header handling.\n */\nclass WrappedAgentV1Client extends AgentV1Client {\n connect() {\n return __awaiter(this, arguments, void 0, function* (args = {}) {\n const { headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal } = args;\n const socket = yield createWebSocketConnection({\n options: this._options,\n urlPath: \"/v1/agent/converse\",\n environmentKey: \"agent\",\n queryParams: buildQueryParams(args),\n headers,\n debug,\n reconnectAttempts,\n connectionTimeoutInSeconds,\n abortSignal,\n });\n return new WrappedAgentV1Socket({ socket });\n });\n }\n /**\n * Creates a WebSocket connection object without actually connecting.\n * This is an alias for connect() with clearer naming - the returned socket\n * is not connected until you call socket.connect().\n *\n * Usage:\n * ```typescript\n * const socket = await client.agent.v1.createConnection();\n * socket.on('open', () => console.log('Connected!'));\n * socket.on('message', (msg) => console.log('Message:', msg));\n * socket.connect(); // Actually initiates the connection\n * ```\n */\n createConnection() {\n return __awaiter(this, arguments, void 0, function* (args = {}) {\n return this.connect(args);\n });\n }\n}\n/**\n * Wrapper for Agent V1Socket that handles binary messages correctly.\n *\n * This wrapper ensures that both text (JSON) and binary WebSocket messages are\n * handled properly. The auto-generated socket class may not handle binary data\n * correctly, so we override the message handling to support both formats.\n * This is critical for audio and other binary data streaming.\n */\nclass WrappedAgentV1Socket extends AgentV1Socket {\n constructor(args) {\n super(args);\n this.setupBinaryHandling();\n }\n setupBinaryHandling() {\n this.binaryAwareHandler = setupBinaryHandling(this.socket, this.eventHandlers);\n }\n connect() {\n // Remove duplicate listeners before calling super.connect()\n const socketAny = this;\n preventDuplicateEventListeners(this.socket, {\n handleOpen: socketAny.handleOpen,\n handleMessage: socketAny.handleMessage,\n handleClose: socketAny.handleClose,\n handleError: socketAny.handleError,\n });\n resetSocketConnectionState(this.socket);\n super.connect();\n // Re-setup binary handling in case connect() re-registered handlers\n this.setupBinaryHandling();\n return this;\n }\n}\n/**\n * Wrapper for Listen V1Client that overrides connect to use custom websocket.\n *\n * This wrapper ensures that the connect() method uses our custom ReconnectingWebSocket\n * implementation instead of any auto-generated WebSocket handling. This guarantees\n * consistent behavior across Fern regenerations and allows us to customize\n * connection setup, authentication, and header handling.\n */\nclass WrappedListenV1Client extends ListenV1Client {\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n const { headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal } = args;\n const socket = yield createWebSocketConnection({\n options: this._options,\n urlPath: \"/v1/listen\",\n environmentKey: \"production\",\n queryParams: buildQueryParams(args),\n headers,\n debug,\n reconnectAttempts,\n connectionTimeoutInSeconds,\n abortSignal,\n });\n return new WrappedListenV1Socket({ socket });\n });\n }\n /**\n * Creates a WebSocket connection object without actually connecting.\n * This is an alias for connect() with clearer naming - the returned socket\n * is not connected until you call socket.connect().\n *\n * Usage:\n * ```typescript\n * const socket = await client.listen.v1.createConnection({ model: 'nova-3' });\n * socket.on('open', () => console.log('Connected!'));\n * socket.on('message', (msg) => console.log('Transcript:', msg));\n * socket.connect(); // Actually initiates the connection\n * ```\n */\n createConnection(args) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.connect(args);\n });\n }\n}\n/**\n * Wrapper for Listen V1Socket that handles binary messages correctly.\n *\n * This wrapper ensures that both text (JSON) and binary WebSocket messages are\n * handled properly. The auto-generated socket class may not handle binary data\n * correctly, so we override the message handling to support both formats.\n * This is critical for audio and other binary data streaming.\n */\nclass WrappedListenV1Socket extends ListenV1Socket {\n constructor(args) {\n super(args);\n this.setupBinaryHandling();\n }\n setupBinaryHandling() {\n this.binaryAwareHandler = setupBinaryHandling(this.socket, this.eventHandlers);\n }\n connect() {\n // Remove duplicate listeners before calling super.connect()\n const socketAny = this;\n preventDuplicateEventListeners(this.socket, {\n handleOpen: socketAny.handleOpen,\n handleMessage: socketAny.handleMessage,\n handleClose: socketAny.handleClose,\n handleError: socketAny.handleError,\n });\n resetSocketConnectionState(this.socket);\n super.connect();\n this.setupBinaryHandling();\n return this;\n }\n}\n/**\n * Wrapper for Listen V2Client that overrides connect to use custom websocket.\n *\n * This wrapper ensures that the connect() method uses our custom ReconnectingWebSocket\n * implementation instead of any auto-generated WebSocket handling. This guarantees\n * consistent behavior across Fern regenerations and allows us to customize\n * connection setup, authentication, and header handling.\n */\nclass WrappedListenV2Client extends ListenV2Client {\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n const { headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal } = args;\n const socket = yield createWebSocketConnection({\n options: this._options,\n urlPath: \"/v2/listen\",\n environmentKey: \"production\",\n queryParams: buildQueryParams(args),\n headers,\n debug,\n reconnectAttempts,\n connectionTimeoutInSeconds,\n abortSignal,\n });\n return new WrappedListenV2Socket({ socket });\n });\n }\n /**\n * Creates a WebSocket connection object without actually connecting.\n * This is an alias for connect() with clearer naming - the returned socket\n * is not connected until you call socket.connect().\n *\n * Usage:\n * ```typescript\n * const socket = await client.listen.v2.createConnection({ model: 'flux-general-en' });\n * socket.on('open', () => console.log('Connected!'));\n * socket.on('message', (msg) => console.log('Transcript:', msg));\n * socket.connect(); // Actually initiates the connection\n * ```\n */\n createConnection(args) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.connect(args);\n });\n }\n}\n/**\n * Wrapper for Listen V2Socket that handles binary messages correctly and adds ping support.\n *\n * This wrapper ensures that both text (JSON) and binary WebSocket messages are\n * handled properly. The auto-generated socket class may not handle binary data\n * correctly, so we override the message handling to support both formats.\n * Additionally, this wrapper adds a ping() method for sending WebSocket ping\n * frames to keep connections alive (Node.js only).\n */\nclass WrappedListenV2Socket extends ListenV2Socket {\n constructor(args) {\n super(args);\n this.setupBinaryHandling();\n }\n setupBinaryHandling() {\n this.binaryAwareHandler = setupBinaryHandling(this.socket, this.eventHandlers);\n }\n connect() {\n // Remove duplicate listeners before calling super.connect()\n const socketAny = this;\n preventDuplicateEventListeners(this.socket, {\n handleOpen: socketAny.handleOpen,\n handleMessage: socketAny.handleMessage,\n handleClose: socketAny.handleClose,\n handleError: socketAny.handleError,\n });\n resetSocketConnectionState(this.socket);\n super.connect();\n this.setupBinaryHandling();\n return this;\n }\n /**\n * Send a WebSocket ping frame to keep the connection alive.\n *\n * In Node.js, this uses the native WebSocket ping() method from the 'ws' library.\n * In browsers, WebSocket ping/pong is handled automatically by the browser and\n * cannot be manually triggered, so this method will throw an error.\n *\n * @param data Optional data to send with the ping (Node.js only)\n * @throws Error if not in Node.js environment or WebSocket is not connected\n */\n ping(data) {\n const ws = this.socket._ws;\n if (!ws) {\n throw new Error(\"WebSocket is not connected. Call connect() and waitForOpen() first.\");\n }\n if (ws.readyState !== ws.OPEN) {\n throw new Error(\"WebSocket is not in OPEN state.\");\n }\n // Check if we're in Node.js and the WebSocket has a ping method (from 'ws' library)\n if (RUNTIME.type === \"node\" && typeof ws.ping === \"function\") {\n // Call the native ping method from the 'ws' library\n ws.ping(data);\n }\n else {\n // In browsers, WebSocket ping/pong is automatic and not exposed to JavaScript\n throw new Error(\"WebSocket ping is not supported in browser environments. \" +\n \"Browser WebSocket connections handle ping/pong automatically. \" +\n \"If you need keepalive in the browser, consider sending periodic audio data or using a timer.\");\n }\n }\n}\n/**\n * Wrapper for Speak V1Client that overrides connect to use custom websocket.\n *\n * This wrapper ensures that the connect() method uses our custom ReconnectingWebSocket\n * implementation instead of any auto-generated WebSocket handling. This guarantees\n * consistent behavior across Fern regenerations and allows us to customize\n * connection setup, authentication, and header handling.\n */\nclass WrappedSpeakV1Client extends SpeakV1Client {\n connect(args) {\n return __awaiter(this, void 0, void 0, function* () {\n const { headers, debug, reconnectAttempts, connectionTimeoutInSeconds, abortSignal } = args;\n const socket = yield createWebSocketConnection({\n options: this._options,\n urlPath: \"/v1/speak\",\n environmentKey: \"production\",\n queryParams: buildQueryParams(args),\n headers,\n debug,\n reconnectAttempts,\n connectionTimeoutInSeconds,\n abortSignal,\n });\n return new WrappedSpeakV1Socket({ socket });\n });\n }\n /**\n * Creates a WebSocket connection object without actually connecting.\n * This is an alias for connect() with clearer naming - the returned socket\n * is not connected until you call socket.connect().\n *\n * Usage:\n * ```typescript\n * const socket = await client.speak.v1.createConnection({ model: 'aura-asteria-en' });\n * socket.on('open', () => console.log('Connected!'));\n * socket.on('message', (audioData) => console.log('Audio received'));\n * socket.connect(); // Actually initiates the connection\n * ```\n */\n createConnection(args) {\n return __awaiter(this, void 0, void 0, function* () {\n return this.connect(args);\n });\n }\n}\n/**\n * Wrapper for Speak V1Socket that handles binary messages correctly.\n *\n * This wrapper ensures that both text (JSON) and binary WebSocket messages are\n * handled properly. The auto-generated socket class may not handle binary data\n * correctly, so we override the message handling to support both formats.\n * This is critical for audio and other binary data streaming.\n */\nclass WrappedSpeakV1Socket extends SpeakV1Socket {\n constructor(args) {\n super(args);\n // CRITICAL: Remove the autogenerated handleMessage that tries to parse EVERYTHING as JSON!\n // The autogenerated Socket class assumes all messages are text/JSON, but TTS sends binary audio.\n // We must remove that broken handler immediately after the parent constructor runs.\n const socketAny = this;\n if (socketAny.handleMessage) {\n this.socket.removeEventListener(\"message\", socketAny.handleMessage);\n }\n this.setupBinaryHandling();\n }\n setupBinaryHandling() {\n this.binaryAwareHandler = setupBinaryHandling(this.socket, this.eventHandlers);\n }\n connect() {\n // Remove duplicate listeners before calling super.connect()\n const socketAny = this;\n preventDuplicateEventListeners(this.socket, {\n handleOpen: socketAny.handleOpen,\n handleMessage: socketAny.handleMessage,\n handleClose: socketAny.handleClose,\n handleError: socketAny.handleError,\n });\n resetSocketConnectionState(this.socket);\n super.connect();\n this.setupBinaryHandling();\n return this;\n }\n}\n"],"names":["module","exports","Error","Supplier","supplier","__awaiter","thisArg","_arguments","generator","P","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","toJson","replacer","space","JSON","stringify","fromJson","text","reviver","parse","DeepgramError","constructor","message","statusCode","body","rawResponse","cause","super","lines","push","toString","undefined","join","buildMessage","Object","setPrototypeOf","this","prototype","captureStackTrace","name","PARAM_KEY","ENV_HEADER_KEY","HEADER_NAME","HeaderAuthProvider","options","canCreate","_a","process","env","getAuthRequest","arguments","endpointMetadata","_b","headerValue","AUTH_CONFIG_ERROR_MESSAGE","headers","mergeHeaders","headersArray","key","filter","flatMap","entries","insensitiveKey","toLowerCase","mergeOnlyDefinedHeaders","AUTH_SCHEME","createInstance","RUNTIME","_c","_d","_e","window","document","type","version","navigator","userAgent","globalThis","EdgeRuntime","self","importScripts","Deno","deno","Bun","product","_process","versions","node","parsedVersion","Number","split","evaluateRuntime","LogLevel","logLevelMap","ConsoleLogger","debug","args","console","info","warn","error","Logger","config","level","logger","silent","shouldLog","isDebug","isInfo","isWarn","isError","createLogger","defaultLogger","NoOpAuthProvider","normalizeClientOptions","assign","logging","normalizeClientOptionsWithAuth","normalized","normalizedWithNoOpAuthProvider","authProvider","withNoOpAuthProvider","defaultQsOptions","arrayFormat","encode","encodeValue","shouldEncode","stringValue","String","encodeURIComponent","stringifyObject","obj","prefix","parts","fullKey","Array","isArray","length","effectiveFormat","encodedKey","encodedValues","item","map","i","arrayKey","keys","toQueryString","Event","target","ErrorEvent","CloseEvent","code","reason","wasClean","getGlobalWebSocket","WebSocket","DEFAULT_OPTIONS","maxReconnectionDelay","minReconnectionDelay","Math","random","minUptime","reconnectionDelayGrowFactor","connectionTimeout","maxRetries","Infinity","maxEnqueuedMessages","startClosed","ReconnectingWebSocket","url","protocols","queryParameters","abortSignal","_listeners","open","close","_retryCount","_shouldReconnect","_connectLock","_binaryType","_closeCalled","_messageQueue","CONNECTING","OPEN","CLOSING","CLOSED","onclose","onerror","onmessage","onopen","_handleAbort","_debug","_clearTimeouts","_ws","_removeListeners","addEventListener","_handleClose","_error","_handleOpen","event","_options","clearTimeout","_connectTimeout","_uptimeTimeout","setTimeout","_acceptOpen","binaryType","forEach","send","listener","_callEventListener","_handleMessage","_handleError","_disconnect","_connect","_url","_protocols","_headers","_queryParameters","_abortSignal","once","retryCount","max","bufferedAmount","reduce","acc","Blob","size","byteLength","extensions","protocol","readyState","ReadyState","reconnect","data","dispatchEvent","listeners","removeEventListener","l","log","_getNextDelay","delay","pow","_wait","_getNextUrl","urlProvider","aborted","w","queryString","_addListeners","_handleTimeout","handleEvent","base","segments","includes","URL","joinPath","lastSegment","shouldPreserveTrailingSlash","endsWith","segment","cleanSegment","trimSlashes","pathname","joinPathSegments","left","right","str","start","end","startsWith","slice","DeepgramEnvironment","Production","production","agent","agentRest","HttpResponsePromise","promise","innerPromise","fromFunction","fn","interceptFunction","fromPromise","fromExecutor","executor","fromResult","unwrap","unwrappedPromise","onfulfilled","onrejected","catch","onfinally","finally","withRawResponse","EndpointSupplier","arg","getResponseBody","response","responseType","binaryResponse","bodyUsed","stream","arrayBuffer","bind","blob","bytes","getBinaryResponse","ok","status","_err","rawBody","getErrorResponseBody","contentType","get","indexOf","trim","getFetchFn","fetch","Headers","init","Map","append","TypeError","existing","set","delete","values","has","callbackfn","boundCallback","getSetCookie","Symbol","iterator","_cacheNoStoreSupported","makeRequest","fetchFn","method","requestBody","timeoutMs","withCredentials","duplex","disableCache","signals","timeoutAbortId","signal","abortId","controller","AbortController","abort","getTimeoutSignal","newSignals","anySignal","credentials","Request","cache","isCacheNoStoreSupported","abortRawResponse","redirected","statusText","unknownRawResponse","toRawResponse","MAX_RETRY_DELAY","getRetryDelayFromHeaders","retryAttempt","retryAfter","retryAfterSeconds","parseInt","isNaN","min","retryAfterDate","Date","getTime","now","rateLimitReset","resetTime","addPositiveJitter","requestWithRetries","requestFn_1","requestFn","SENSITIVE_HEADERS","Set","redactHeaders","filtered","SENSITIVE_QUERY_PARAMS","redactQueryParameters","redacted","redactUrl","protocolIndex","afterProtocol","pathStart","queryStart","fragmentStart","firstDelimiter","atIndex","queryEnd","lower","redactedParams","params","param","equalIndex","shouldRedact","decodedKey","decodeURIComponent","fetcher","baseUrl","createRequestUrl","getRequestBody","requestType","newHeaders","getHeaders","metadata","hasBody","responseHeaders","fromEntries","errorMessage","queryBuilder","QueryStringBuilder","add","serialized","style","addMany","mergeAdditional","additionalParams","build","DeepgramTimeoutError","opts","handleNonStatusCodeError","path","BadRequestError","ModelsClient","list","requestOptions","__list","_f","_g","_h","_j","_k","_response","environment","queryParams","timeoutInSeconds","ThinkClient","models","_models","SettingsClient","think","_think","V1Socket","eventHandlers","handleOpen","call","handleMessage","handleClose","handleError","socket","on","callback","sendSettings","assertSocketIsOpen","sendJson","sendUpdateSpeak","sendInjectUserMessage","sendInjectAgentMessage","sendFunctionCallResponse","sendKeepAlive","sendUpdatePrompt","sendUpdateThink","sendMedia","sendBinary","connect","waitForOpen","payload","jsonPayload","V1Client","settings","_settings","reconnectAttempts","connectionTimeoutInSeconds","Authorization","AgentClient","v1","_v1","TokensClient","grant","request","__grant","tokens","_tokens","AuthClient","getFileWithMetadata","file_1","file","noSniffFileSize","isBuffer","isArrayBufferView","isArrayBuffer","Uint8Array","isUint8Array","isBlob","isFile","isStreamLike","isReadableStream","fs","createReadStream","contentLength","tryGetFileSizeFromPath","filename","getNameFromPath","data_1","isPathedValue","tryGetContentLengthFromFileLike","isNamedValue","tryGetNameFromFileLike","tryGetContentTypeFromFileLike","promises","stat","_fallbackError","lastForwardSlash","lastIndexOf","lastBackSlash","lastSlashIndex","substring","Buffer","ArrayBuffer","isView","File","MediaClient","transcribeUrl","__transcribeUrl","callback_method","callbackMethod","extra","sentiment","summarize","tag","topics","custom_topic","customTopic","custom_topic_mode","customTopicMode","intents","custom_intent","customIntent","custom_intent_mode","customIntentMode","detect_entities","detectEntities","detect_language","detectLanguage","diarize","diarize_model","diarizeModel","dictation","encoding","filler_words","fillerWords","keyterm","keywords","language","measurements","model","multichannel","numerals","paragraphs","profanity_filter","profanityFilter","punctuate","redact","replace","search","smart_format","smartFormat","utterances","utt_split","uttSplit","mip_opt_out","mipOptOut","_body","s","t","p","hasOwnProperty","getOwnPropertySymbols","propertyIsEnumerable","__rest","_queryParams","transcribeFile","uploadable","__transcribeFile","_binaryUploadRequest","sendFinalize","sendCloseStream","media","_media","channels","endpointing","interim_results","interimResults","sample_rate","sampleRate","utterance_end_ms","utteranceEndMs","vad_events","vadEvents","V2Socket","sendConfigure","V2Client","eager_eot_threshold","eagerEotThreshold","eot_threshold","eotThreshold","eot_timeout_ms","eotTimeoutMs","language_hint","languageHint","ListenClient","v2","_v2","encodePathParam","include_outdated","includeOutdated","model_id","__get","BalancesClient","project_id","balance_id","BreakdownClient","project_id_1","accessor","deployment","line_item","lineItem","grouping","FieldsClient","PurchasesClient","limit","BillingClient","balances","_balances","breakdown","_breakdown","fields","_fields","purchases","_purchases","KeysClient","create","__create","key_id","__delete","InvitesClient","email","ScopesClient","member_id","update","__update","MembersClient","invites","_invites","scopes","_scopes","RequestsClient","page","request_id","requestId","endpoint","alternatives","UsageClient","ProjectsClient","_keys","members","_members","requests","_requests","usage","_usage","billing","_billing","leave","__leave","projects","_projects","ManageClient","TextClient","analyze","__analyze","_text","ReadClient","DistributionCredentialsClient","provider","distribution_credentials_id","distributionCredentials","_distributionCredentials","SelfHostedClient","AudioClient","generate","__generate","bit_rate","bitRate","container","speed","sendText","sendFlush","sendClear","sendClose","audio","_audio","SpeakClient","ConfigurationsClient","agent_id","VariablesClient","variable_id","VoiceAgentClient","configurations","_configurations","variables","_variables","DeepgramClient","_agent","auth","_auth","listen","_listen","manage","_manage","read","_read","selfHosted","_selfHosted","speak","_speak","voiceAgent","_voiceAgent","input","clientOptions","effectiveInit","redirect","referrer","integrity","mode","fullUrl","mergedHeaders","resolved","getAuthHeaders","authHeaders","initHeaders","WEBSOCKET_OPTION_KEYS","NodeWebSocket","_wsInitialized","ApiKeyAuthProviderWrapper","originalProvider","authRequest","authHeader","authorization","AccessTokenAuthProviderWrapper","accessToken","DEEPGRAM_ACCESS_TOKEN","CustomDeepgramClient","sessionId","crypto","randomUUID","c","r","generateUUID","_sessionId","_customAgent","WrappedAgentClient","_customListen","WrappedListenClient","_customSpeak","WrappedSpeakClient","WrappedAgentV1Client","WrappedListenV1Client","WrappedListenV2Client","WrappedSpeakV1Client","buildQueryParams","setupBinaryHandling","binaryAwareHandler","socketAny","preventDuplicateEventListeners","handlers","resetSocketConnectionState","createWebSocketConnection","urlPath","environmentKey","require","ws","default","dynamicImport","Function","loadNodeWebSocket","resolvedValue","resolveHeaders","wsOptions","isBrowser","sessionIdHeader","browserHeaders","apiKey","token","getWebSocketOptions","WrappedAgentV1Socket","createConnection","WrappedListenV1Socket","WrappedListenV2Socket","ping","WrappedSpeakV1Socket"],"sourceRoot":""}