{"version":3,"sources":["webpack:///./node_modules/openai/core.js","webpack:///./node_modules/openai/streaming.js","webpack:///./node_modules/openai/resources/images.js","webpack:///./node_modules/openai/version.js","webpack:///./src/components/Tooltip2Vue/Tooltip2Vue.vue?ac8b","webpack:///./node_modules/openai/resources/audio/index.js","webpack:///./node_modules/openai/uploads.js","webpack:///./src/components/assistant/TooltipExclamation.vue?842d","webpack:///./node_modules/openai/index.js","webpack:///./node_modules/openai/version.mjs","webpack:///./node_modules/openai/resources/chat/completions.js","webpack:///./node_modules/openai/resources/moderations.js","webpack:///./node_modules/openai/_shims/agent.mjs","webpack:///./node_modules/openai/error.js","webpack:///./node_modules/openai/_shims/getMultipartRequestOptions.mjs","webpack:///./node_modules/openai/_shims/fileFromPath.mjs","webpack:///./node_modules/openai/resources/edits.js","webpack:///./src/views/Helexium/Assistant/ChatResultadosEvaluacion.vue?6413","webpack:///./node_modules/openai/resources/audio/transcriptions.js","webpack:///./node_modules/openai/resources/audio/translations.js","webpack:///./node_modules/openai/resources/files.js","webpack:///./node_modules/openai/core.mjs","webpack:///./node_modules/openai/resources/embeddings.js","webpack:///./node_modules/openai/_shims/node-readable.mjs","webpack:///./src/views/Helexium/Assistant/ChatLayout.vue","webpack:///./src/components/assistant/TooltipExclamation.vue","webpack:///src/components/assistant/TooltipExclamation.vue","webpack:///./src/components/assistant/TooltipExclamation.vue?7785","webpack:///./src/components/assistant/TooltipExclamation.vue?0a71","webpack:///src/views/Helexium/Assistant/ChatLayout.vue","webpack:///./src/views/Helexium/Assistant/ChatLayout.vue?9a4f","webpack:///./src/views/Helexium/Assistant/ChatLayout.vue?1a2b","webpack:///./src/components/Tooltip2Vue/Tooltip2Vue.vue","webpack:///src/components/Tooltip2Vue/Tooltip2Vue.vue","webpack:///./src/components/Tooltip2Vue/Tooltip2Vue.vue?63c0","webpack:///./src/components/Tooltip2Vue/Tooltip2Vue.vue?4b07","webpack:///./node_modules/openai/_shims/formdata.mjs","webpack:///./node_modules/openai/resources/chat/chat.js","webpack:///./node_modules/openai/resources/models.js","webpack:///./src/views/Helexium/Assistant/ChatResultadosEvaluacion.vue","webpack:///./src/views/Helexium/Assistant/useOpenAI.js","webpack:///./src/views/Helexium/Assistant/useChatAI.js","webpack:///./src/views/Helexium/Assistant/systemPrompt.js","webpack:///./src/views/Helexium/Assistant/useChatAnalytics.js","webpack:///./src/views/Helexium/Assistant/useHelexiumChatAI.js","webpack:///src/views/Helexium/Assistant/ChatResultadosEvaluacion.vue","webpack:///./src/views/Helexium/Assistant/ChatResultadosEvaluacion.vue?598d","webpack:///./src/views/Helexium/Assistant/ChatResultadosEvaluacion.vue?4d2a","webpack:///./node_modules/openai/resource.mjs","webpack:///./node_modules/openai/streaming.mjs","webpack:///./node_modules/openai/uploads.mjs","webpack:///./node_modules/openai/pagination.mjs","webpack:///./node_modules/openai/error.mjs","webpack:///./src/views/Helexium/Assistant/ChatLayout.vue?fb77","webpack:///./node_modules/openai/resources/fine-tunes.js","webpack:///./node_modules/openai/resources/chat/index.js","webpack:///./node_modules/openai/resources/audio/audio.js","webpack:///./node_modules/openai/_shims/fetch.mjs","webpack:///./node_modules/openai/resources/index.js","webpack:///./node_modules/openai/resources/completions.js","webpack:///./node_modules/openai/pagination.js"],"names":["_AbstractPage_client","__classPrivateFieldSet","this","receiver","state","value","kind","f","TypeError","has","call","set","__classPrivateFieldGet","get","Object","defineProperty","exports","toBase64","getHeader","isHeadersProtocol","isRunningInBrowser","debug","hasOwn","isEmptyObj","maybeCoerceBoolean","maybeCoerceFloat","maybeCoerceInteger","coerceBoolean","coerceFloat","coerceInteger","readEnv","ensurePresent","castToError","safeJSON","isRequestOptions","createResponseHeaders","PagePromise","AbstractPage","APIResource","APIClient","APIPromise","createForm","multipartFormRequestOptions","maybeMultipartFormRequestOptions","version_1","streaming_1","error_1","agent_1","fetch_1","uploads_1","uploads_2","enumerable","MAX_RETRIES","async","defaultParseResponse","props","response","options","stream","Stream","controller","contentType","headers","includes","json","status","url","text","Promise","responsePromise","parseResponse","super","resolve","transform","then","p","data","all","parse","asResponse","parsedPromise","onfulfilled","onrejected","catch","onfinally","finally","baseURL","maxRetries","timeout","httpAgent","fetch","overridenFetch","validatePositiveInteger","Accept","getUserAgent","getPlatformHeaders","authHeaders","customHeaders","uuid4","path","opts","methodRequest","method","request","Page","requestAPIList","body","Buffer","byteLength","toString","TextEncoder","encoder","encoded","encode","length","_a","_b","_c","_d","_e","_f","query","isMultipartBody","JSON","stringify","contentLength","calculateContentLength","buildURL","getDefaultAgent","minAgentTimeout","idempotencyHeader","idempotencyKey","defaultIdempotencyKey","reqHeaders","defaultHeaders","isPolyfilled","keys","forEach","key","req","agent","signal","validateHeaders","error","message","APIError","generate","remainingRetries","makeRequest","optionsInput","retriesRemaining","buildRequest","prepareRequest","aborted","APIUserAbortError","AbortController","fetchWithTimeout","Error","retryRequest","name","APIConnectionTimeoutError","APIConnectionError","cause","responseHeaders","ok","shouldRetry","errText","errJSON","errMessage","undefined","err","makeStatusError","isAbsoluteURL","URL","endsWith","startsWith","slice","defaultQuery","search","stringifyQuery","entries","filter","_","map","encodeURIComponent","join","init","ms","addEventListener","abort","setTimeout","getRequestClient","clearTimeout","shouldRetryHeader","retryAfter","parseInt","calculateRetryTimeoutSeconds","sleep","initialRetryDelay","maxRetryDelay","Number","isInteger","numRetries","sleepSeconds","Math","min","pow","jitter","random","constructor","VERSION","client","bind","post","patch","put","delete","getAPIList","items","getPaginatedItems","nextPageInfo","nextInfo","nextOptions","params","searchParams","page","hasNextPage","getNextPage","WeakMap","Symbol","asyncIterator","iterPages","item","Proxy","fromEntries","target","toLowerCase","requestOptionsKeys","obj","every","k","getPlatformProperties","Deno","build","normalizePlatform","os","normalizeArch","arch","version","EdgeRuntime","process","prototype","platform","browserInfo","getBrowserInfo","browser","navigator","browserPatterns","pattern","match","exec","userAgent","major","minor","_platformHeaders","startsWithSchemeRegexp","RegExp","test","n","env","round","parseFloat","Boolean","_k","hasOwnProperty","action","args","console","log","replace","c","r","v","window","document","lowerKey","Array","isArray","warn","str","from","btoa","decoder","SSEDecoder","lineDecoder","LineDecoder","iter","readableStreamAsyncIterable","chunk","line","decode","sse","flush","done","iterMessages","event","e","raw","chunks","substring","push","fieldname","partition","buffer","trailingCR","decodeText","trailingNewline","NEWLINE_CHARS","lines","split","NEWLINE_REGEXP","pop","bytes","Uint8Array","TextDecoder","ArrayBuffer","textDecoder","delimiter","index","indexOf","reader","getReader","result","read","releaseLock","cancelPromise","cancel","Set","Images","resource_1","core_1","Translations","Transcriptions","Audio","audio_1","transcriptions_1","translations_1","MultipartBody","toFile","isUploadable","isBlobLike","isFileLike","isResponseLike","fileFromPath","formdata_1","getMultipartRequestOptions_1","fileFromPath_1","node_readable_1","blob","lastModified","size","type","arrayBuffer","isFsReadStream","pathname","File","bits","getBytes","getName","parts","isView","isAsyncIterableIterator","propsForError","getOwnPropertyNames","getStringFromMaybeBuffer","filename","x","String","toStringTag","hasUploadableValue","form","getMultipartRequestOptions","FormData","addFormValue","some","append","file","entry","prop","__createBinding","create","o","m","k2","desc","getOwnPropertyDescriptor","__esModule","writable","configurable","__setModuleDefault","__importStar","mod","UnprocessableEntityError","PermissionDeniedError","InternalServerError","AuthenticationError","BadRequestError","RateLimitError","ConflictError","NotFoundError","OpenAI","Core","Pagination","API","Errors","Uploads","apiKey","organization","dangerouslyAllowBrowser","completions","Completions","chat","Chat","edits","Edits","embeddings","Embeddings","files","Files","images","audio","moderations","Moderations","models","Models","fineTunes","FineTunes","_options","Authorization","FileObjectsPage","ModelsPage","FineTunesPage","module","default","makeMessage","code","param","errorResponse","arguments","pagination_1","fileId","render","_vm","_self","staticClass","attrs","_v","_s","title","_t","_l","showMessage","role","content","class","domProps","waitingMessage","_m","on","handleKeyup","$event","$emit","staticRenderFns","scopedSlots","_u","fn","proxy","components","Tooltip2Vue","component","TooltipExclamation","historyMessages","userMessage","indexHistoryTool","userMessageBackup","computed","userMessages","empresaId","$store","getters","userLoggedIn","empresa","id","methods","ev","scrollSmoothHistory","$el","querySelector","$nextTick","scrollTo","top","scrollHeight","behavior","onOver","onOut","onFocus","closeBlur","deleteTooltip","show","close","nativeShow","position","dev","hover","placement","outShow","mounted","setBasicPosition","handleDocumentBody","contains","removeEventListener","relatedTarget","setResponsivePosition","tp","style","bottom","left","right","width","innerWidth","rect","getBoundingClientRect","wPop","relativeLeft","wtp","offsetWidth","setOutShow","_FormData","_File","_Blob","Blob","completions_1","model","handleInput","callback","$$v","expression","configuration","openIAKey","openai","chatOneShot","messages","promptFocusedAnalysis","promptDBResultadosEvaluacion","createAnalytics","chatCompletion","ChatAssistantAIId","TK","localStorage","getItem","persona","headersList","bodyContent","choices","usage","prompt_tokens","completion_tokens","cleanString","string","chatGetQuery","resultGPT","chatGetAnalysis","ChatLayout","sendMessage","userMessageObj","passQueryToBackend","fetchPost","virtualContent","virtualUserMessage","assistantResponse","object","fineTuneId","chat_1","transcriptions","translations","_fetch","_Request","Request","_Response","Response","_Headers","Headers","embeddings_1","edits_1","files_1","fine_tunes_1","images_1","models_1","moderations_1"],"mappings":"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","file":"js/chunk-62e9823c.7aee6d7a.js","sourcesContent":["'use strict';\nvar __classPrivateFieldSet =\n (this && this.__classPrivateFieldSet) ||\n function (receiver, state, value, kind, f) {\n if (kind === 'm') throw new TypeError('Private method is not writable');\n if (kind === 'a' && !f) throw new TypeError('Private accessor was defined without a setter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot write private member to an object whose class did not declare it');\n return (\n kind === 'a' ? f.call(receiver, value)\n : f ? (f.value = value)\n : state.set(receiver, value),\n value\n );\n };\nvar __classPrivateFieldGet =\n (this && this.__classPrivateFieldGet) ||\n function (receiver, state, kind, f) {\n if (kind === 'a' && !f) throw new TypeError('Private accessor was defined without a getter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot read private member from an object whose class did not declare it');\n return (\n kind === 'm' ? f\n : kind === 'a' ? f.call(receiver)\n : f ? f.value\n : state.get(receiver)\n );\n };\nvar _AbstractPage_client;\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.toBase64 =\n exports.getHeader =\n exports.isHeadersProtocol =\n exports.isRunningInBrowser =\n exports.debug =\n exports.hasOwn =\n exports.isEmptyObj =\n exports.maybeCoerceBoolean =\n exports.maybeCoerceFloat =\n exports.maybeCoerceInteger =\n exports.coerceBoolean =\n exports.coerceFloat =\n exports.coerceInteger =\n exports.readEnv =\n exports.ensurePresent =\n exports.castToError =\n exports.safeJSON =\n exports.isRequestOptions =\n exports.createResponseHeaders =\n exports.PagePromise =\n exports.AbstractPage =\n exports.APIResource =\n exports.APIClient =\n exports.APIPromise =\n exports.createForm =\n exports.multipartFormRequestOptions =\n exports.maybeMultipartFormRequestOptions =\n void 0;\nconst version_1 = require('./version.js');\nconst streaming_1 = require('./streaming.js');\nconst error_1 = require('./error.js');\nconst agent_1 = require('openai/_shims/agent');\nconst fetch_1 = require('openai/_shims/fetch');\nconst uploads_1 = require('./uploads.js');\nvar uploads_2 = require('./uploads.js');\nObject.defineProperty(exports, 'maybeMultipartFormRequestOptions', {\n enumerable: true,\n get: function () {\n return uploads_2.maybeMultipartFormRequestOptions;\n },\n});\nObject.defineProperty(exports, 'multipartFormRequestOptions', {\n enumerable: true,\n get: function () {\n return uploads_2.multipartFormRequestOptions;\n },\n});\nObject.defineProperty(exports, 'createForm', {\n enumerable: true,\n get: function () {\n return uploads_2.createForm;\n },\n});\nconst MAX_RETRIES = 2;\nasync function defaultParseResponse(props) {\n const { response } = props;\n if (props.options.stream) {\n // Note: there is an invariant here that isn't represented in the type system\n // that if you set `stream: true` the response type must also be `Stream`\n return new streaming_1.Stream(response, props.controller);\n }\n const contentType = response.headers.get('content-type');\n if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {\n const json = await response.json();\n debug('response', response.status, response.url, response.headers, json);\n return json;\n }\n // TODO handle blob, arraybuffer, other content types, etc.\n const text = await response.text();\n debug('response', response.status, response.url, response.headers, text);\n return text;\n}\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nclass APIPromise extends Promise {\n constructor(responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n }\n _thenUnwrap(transform) {\n return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props)));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data and the raw `Response` instance.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then(this.parseResponse);\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\nexports.APIPromise = APIPromise;\nclass APIClient {\n constructor({\n baseURL,\n maxRetries,\n timeout = 600000, // 10 minutes\n httpAgent,\n fetch: overridenFetch,\n }) {\n this.baseURL = baseURL;\n this.maxRetries = validatePositiveInteger(\n 'maxRetries',\n maxRetries !== null && maxRetries !== void 0 ? maxRetries : MAX_RETRIES,\n );\n this.timeout = validatePositiveInteger('timeout', timeout);\n this.httpAgent = httpAgent;\n this.fetch = overridenFetch !== null && overridenFetch !== void 0 ? overridenFetch : fetch_1.fetch;\n }\n authHeaders() {\n return {};\n }\n /**\n * Override this to add your own default headers, for example:\n *\n * {\n * ...super.defaultHeaders(),\n * Authorization: 'Bearer 123',\n * }\n */\n defaultHeaders() {\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'User-Agent': this.getUserAgent(),\n ...getPlatformHeaders(),\n ...this.authHeaders(),\n };\n }\n /**\n * Override this to add your own headers validation:\n */\n validateHeaders(headers, customHeaders) {}\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then((opts) => ({ method, path, ...opts })));\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, { method: 'get', path, ...opts });\n }\n calculateContentLength(body) {\n if (typeof body === 'string') {\n if (typeof Buffer !== 'undefined') {\n return Buffer.byteLength(body, 'utf8').toString();\n }\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder();\n const encoded = encoder.encode(body);\n return encoded.length.toString();\n }\n }\n return null;\n }\n buildRequest(options) {\n var _a, _b, _c, _d, _e, _f;\n const { method, path, query, headers: headers = {} } = options;\n const body =\n (0, uploads_1.isMultipartBody)(options.body) ? options.body.body\n : options.body ? JSON.stringify(options.body, null, 2)\n : null;\n const contentLength = this.calculateContentLength(body);\n const url = this.buildURL(path, query);\n if ('timeout' in options) validatePositiveInteger('timeout', options.timeout);\n const timeout = (_a = options.timeout) !== null && _a !== void 0 ? _a : this.timeout;\n const httpAgent =\n (\n (_c = (_b = options.httpAgent) !== null && _b !== void 0 ? _b : this.httpAgent) !== null &&\n _c !== void 0\n ) ?\n _c\n : (0, agent_1.getDefaultAgent)(url);\n const minAgentTimeout = timeout + 1000;\n if (\n typeof ((\n (_d = httpAgent === null || httpAgent === void 0 ? void 0 : httpAgent.options) === null ||\n _d === void 0\n ) ?\n void 0\n : _d.timeout) === 'number' &&\n minAgentTimeout > ((_e = httpAgent.options.timeout) !== null && _e !== void 0 ? _e : 0)\n ) {\n // Allow any given request to bump our agent active socket timeout.\n // This may seem strange, but leaking active sockets should be rare and not particularly problematic,\n // and without mutating agent we would need to create more of them.\n // This tradeoff optimizes for performance.\n httpAgent.options.timeout = minAgentTimeout;\n }\n if (this.idempotencyHeader && method !== 'get') {\n if (!options.idempotencyKey) options.idempotencyKey = this.defaultIdempotencyKey();\n headers[this.idempotencyHeader] = options.idempotencyKey;\n }\n const reqHeaders = {\n ...(contentLength && { 'Content-Length': contentLength }),\n ...this.defaultHeaders(),\n ...headers,\n };\n // let builtin fetch set the Content-Type for multipart bodies\n if ((0, uploads_1.isMultipartBody)(options.body) && !fetch_1.isPolyfilled) {\n delete reqHeaders['Content-Type'];\n }\n // Strip any headers being explicitly omitted with null\n Object.keys(reqHeaders).forEach((key) => reqHeaders[key] === null && delete reqHeaders[key]);\n const req = {\n method,\n ...(body && { body: body }),\n headers: reqHeaders,\n ...(httpAgent && { agent: httpAgent }),\n // @ts-ignore node-fetch uses a custom AbortSignal type that is\n // not compatible with standard web types\n signal: (_f = options.signal) !== null && _f !== void 0 ? _f : null,\n };\n this.validateHeaders(reqHeaders, headers);\n return { req, url, timeout };\n }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url }) {}\n makeStatusError(status, error, message, headers) {\n return error_1.APIError.generate(status, error, message, headers);\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this.makeRequest(options, remainingRetries));\n }\n async makeRequest(optionsInput, retriesRemaining) {\n var _a, _b, _c;\n const options = await optionsInput;\n if (retriesRemaining == null) {\n retriesRemaining = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;\n }\n const { req, url, timeout } = this.buildRequest(options);\n await this.prepareRequest(req, { url });\n debug('request', url, options, req.headers);\n if ((_b = options.signal) === null || _b === void 0 ? void 0 : _b.aborted) {\n throw new error_1.APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(exports.castToError);\n if (response instanceof Error) {\n if ((_c = options.signal) === null || _c === void 0 ? void 0 : _c.aborted) {\n throw new error_1.APIUserAbortError();\n }\n if (retriesRemaining) {\n return this.retryRequest(options, retriesRemaining);\n }\n if (response.name === 'AbortError') {\n throw new error_1.APIConnectionTimeoutError();\n }\n throw new error_1.APIConnectionError({ cause: response });\n }\n const responseHeaders = (0, exports.createResponseHeaders)(response.headers);\n if (!response.ok) {\n if (retriesRemaining && this.shouldRetry(response)) {\n return this.retryRequest(options, retriesRemaining, responseHeaders);\n }\n const errText = await response.text().catch(() => 'Unknown');\n const errJSON = (0, exports.safeJSON)(errText);\n const errMessage = errJSON ? undefined : errText;\n debug('response', response.status, url, responseHeaders, errMessage);\n const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);\n throw err;\n }\n return { response, options, controller };\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null);\n return new PagePromise(this, request, Page);\n }\n buildURL(path, query) {\n const url =\n isAbsoluteURL(path) ?\n new URL(path)\n : new URL(this.baseURL + (this.baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n if (!isEmptyObj(defaultQuery)) {\n query = { ...defaultQuery, ...query };\n }\n if (query) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new Error(\n `Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,\n );\n })\n .join('&');\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, ...options } = init || {};\n if (signal) signal.addEventListener('abort', () => controller.abort());\n const timeout = setTimeout(() => controller.abort(), ms);\n return this.getRequestClient()\n .fetch(url, { signal: controller.signal, ...options })\n .finally(() => {\n clearTimeout(timeout);\n });\n }\n getRequestClient() {\n return { fetch: this.fetch };\n }\n shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true') return true;\n if (shouldRetryHeader === 'false') return false;\n // Retry on lock timeouts.\n if (response.status === 409) return true;\n // Retry on rate limits.\n if (response.status === 429) return true;\n // Retry internal errors.\n if (response.status >= 500) return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, responseHeaders) {\n var _a;\n retriesRemaining -= 1;\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n //\n // TODO: we may want to handle the case where the header is using the http-date syntax: \"Retry-After: \".\n // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After#syntax for details.\n const retryAfter = parseInt(\n (responseHeaders === null || responseHeaders === void 0 ? void 0 : responseHeaders['retry-after']) ||\n '',\n );\n const maxRetries = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;\n const timeout = this.calculateRetryTimeoutSeconds(retriesRemaining, retryAfter, maxRetries) * 1000;\n await sleep(timeout);\n return this.makeRequest(options, retriesRemaining);\n }\n calculateRetryTimeoutSeconds(retriesRemaining, retryAfter, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 2;\n // If the API asks us to wait a certain amount of time (and it's a reasonable amount),\n // just do what it says.\n if (Number.isInteger(retryAfter) && retryAfter <= 60) {\n return retryAfter;\n }\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(numRetries - 1, 2), maxRetryDelay);\n // Apply some jitter, plus-or-minus half a second.\n const jitter = Math.random() - 0.5;\n return sleepSeconds + jitter;\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${version_1.VERSION}`;\n }\n}\nexports.APIClient = APIClient;\nclass APIResource {\n constructor(client) {\n this.client = client;\n this.get = client.get.bind(client);\n this.post = client.post.bind(client);\n this.patch = client.patch.bind(client);\n this.put = client.put.bind(client);\n this.delete = client.delete.bind(client);\n this.getAPIList = client.getAPIList.bind(client);\n }\n}\nexports.APIResource = APIResource;\nclass AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, 'f');\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length) return false;\n return this.nextPageInfo() != null;\n }\n async getNextPage() {\n const nextInfo = this.nextPageInfo();\n if (!nextInfo) {\n throw new Error(\n 'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',\n );\n }\n const nextOptions = { ...this.options };\n if ('params' in nextInfo) {\n nextOptions.query = { ...nextOptions.query, ...nextInfo.params };\n } else if ('url' in nextInfo) {\n const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()];\n for (const [key, value] of params) {\n nextInfo.url.searchParams.set(key, value);\n }\n nextOptions.query = undefined;\n nextOptions.path = nextInfo.url.toString();\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, 'f').requestAPIList(\n this.constructor,\n nextOptions,\n );\n }\n async *iterPages() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[((_AbstractPage_client = new WeakMap()), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\nexports.AbstractPage = AbstractPage;\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nclass PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(\n request,\n async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options),\n );\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexports.PagePromise = PagePromise;\nconst createResponseHeaders = (headers) => {\n return new Proxy(\n Object.fromEntries(\n // @ts-ignore\n headers.entries(),\n ),\n {\n get(target, name) {\n const key = name.toString();\n return target[key.toLowerCase()] || target[key];\n },\n },\n );\n};\nexports.createResponseHeaders = createResponseHeaders;\n// This is required so that we can determine if a given object matches the RequestOptions\n// type at runtime. While this requires duplication, it is enforced by the TypeScript\n// compiler such that any missing / extraneous keys will cause an error.\nconst requestOptionsKeys = {\n method: true,\n path: true,\n query: true,\n body: true,\n headers: true,\n maxRetries: true,\n stream: true,\n timeout: true,\n httpAgent: true,\n signal: true,\n idempotencyKey: true,\n};\nconst isRequestOptions = (obj) => {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n !isEmptyObj(obj) &&\n Object.keys(obj).every((k) => hasOwn(requestOptionsKeys, k))\n );\n};\nexports.isRequestOptions = isRequestOptions;\nconst getPlatformProperties = () => {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': version_1.VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': Deno.version,\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': version_1.VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n // Check if Node.js\n if (Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': version_1.VERSION,\n 'X-Stainless-OS': normalizePlatform(process.platform),\n 'X-Stainless-Arch': normalizeArch(process.arch),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': version_1.VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': version_1.VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (!navigator || typeof navigator === 'undefined') {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32') return 'x32';\n if (arch === 'x86_64' || arch === 'x64') return 'x64';\n if (arch === 'arm') return 'arm';\n if (arch === 'aarch64' || arch === 'arm64') return 'arm64';\n if (arch) return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios')) return 'iOS';\n if (platform === 'android') return 'Android';\n if (platform === 'darwin') return 'MacOS';\n if (platform === 'win32') return 'Windows';\n if (platform === 'freebsd') return 'FreeBSD';\n if (platform === 'openbsd') return 'OpenBSD';\n if (platform === 'linux') return 'Linux';\n if (platform) return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nconst getPlatformHeaders = () => {\n return _platformHeaders !== null && _platformHeaders !== void 0 ?\n _platformHeaders\n : (_platformHeaders = getPlatformProperties());\n};\nconst safeJSON = (text) => {\n try {\n return JSON.parse(text);\n } catch (err) {\n return undefined;\n }\n};\nexports.safeJSON = safeJSON;\n// https://stackoverflow.com/a/19709846\nconst startsWithSchemeRegexp = new RegExp('^(?:[a-z]+:)?//', 'i');\nconst isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nconst validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new Error(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new Error(`${name} must be a positive integer`);\n }\n return n;\n};\nconst castToError = (err) => {\n if (err instanceof Error) return err;\n return new Error(err);\n};\nexports.castToError = castToError;\nconst ensurePresent = (value) => {\n if (value == null) throw new Error(`Expected a value to be given but received ${value} instead.`);\n return value;\n};\nexports.ensurePresent = ensurePresent;\n/**\n * Read an environment variable.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nconst readEnv = (env) => {\n var _a, _b, _c, _d;\n if (typeof process !== 'undefined') {\n return (_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a[env]) !== null && _b !== void 0 ?\n _b\n : undefined;\n }\n if (typeof Deno !== 'undefined') {\n return (_d = (_c = Deno.env) === null || _c === void 0 ? void 0 : _c.get) === null || _d === void 0 ?\n void 0\n : _d.call(_c, env);\n }\n return undefined;\n};\nexports.readEnv = readEnv;\nconst coerceInteger = (value) => {\n if (typeof value === 'number') return Math.round(value);\n if (typeof value === 'string') return parseInt(value, 10);\n throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexports.coerceInteger = coerceInteger;\nconst coerceFloat = (value) => {\n if (typeof value === 'number') return value;\n if (typeof value === 'string') return parseFloat(value);\n throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexports.coerceFloat = coerceFloat;\nconst coerceBoolean = (value) => {\n if (typeof value === 'boolean') return value;\n if (typeof value === 'string') return value === 'true';\n return Boolean(value);\n};\nexports.coerceBoolean = coerceBoolean;\nconst maybeCoerceInteger = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return (0, exports.coerceInteger)(value);\n};\nexports.maybeCoerceInteger = maybeCoerceInteger;\nconst maybeCoerceFloat = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return (0, exports.coerceFloat)(value);\n};\nexports.maybeCoerceFloat = maybeCoerceFloat;\nconst maybeCoerceBoolean = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return (0, exports.coerceBoolean)(value);\n};\nexports.maybeCoerceBoolean = maybeCoerceBoolean;\n// https://stackoverflow.com/a/34491287\nfunction isEmptyObj(obj) {\n if (!obj) return true;\n for (const _k in obj) return false;\n return true;\n}\nexports.isEmptyObj = isEmptyObj;\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nexports.hasOwn = hasOwn;\nfunction debug(action, ...args) {\n if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {\n console.log(`OpenAI:DEBUG:${action}`, ...args);\n }\n}\nexports.debug = debug;\n/**\n * https://stackoverflow.com/a/2117523\n */\nconst uuid4 = () => {\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};\nconst isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined'\n );\n};\nexports.isRunningInBrowser = isRunningInBrowser;\nconst isHeadersProtocol = (headers) => {\n return typeof (headers === null || headers === void 0 ? void 0 : headers.get) === 'function';\n};\nexports.isHeadersProtocol = isHeadersProtocol;\nconst getHeader = (headers, key) => {\n const lowerKey = key.toLowerCase();\n if ((0, exports.isHeadersProtocol)(headers)) return headers.get(key) || headers.get(lowerKey);\n const value = headers[key] || headers[lowerKey];\n if (Array.isArray(value)) {\n if (value.length <= 1) return value[0];\n console.warn(`Received ${value.length} entries for the ${key} header, using the first entry.`);\n return value[0];\n }\n return value;\n};\nexports.getHeader = getHeader;\n/**\n * Encodes a string to Base64 format.\n */\nconst toBase64 = (str) => {\n if (!str) return '';\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str).toString('base64');\n }\n if (typeof btoa !== 'undefined') {\n return btoa(str);\n }\n throw new Error('Cannot generate b64 string; Expected `Buffer` or `btoa` to be defined');\n};\nexports.toBase64 = toBase64;\n//# sourceMappingURL=core.js.map\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Stream = void 0;\nclass Stream {\n constructor(response, controller) {\n this.response = response;\n this.controller = controller;\n this.decoder = new SSEDecoder();\n }\n async *iterMessages() {\n if (!this.response.body) {\n this.controller.abort();\n throw new Error(`Attempted to iterate over a response with no body`);\n }\n const lineDecoder = new LineDecoder();\n const iter = readableStreamAsyncIterable(this.response.body);\n for await (const chunk of iter) {\n for (const line of lineDecoder.decode(chunk)) {\n const sse = this.decoder.decode(line);\n if (sse) yield sse;\n }\n }\n for (const line of lineDecoder.flush()) {\n const sse = this.decoder.decode(line);\n if (sse) yield sse;\n }\n }\n async *[Symbol.asyncIterator]() {\n let done = false;\n try {\n for await (const sse of this.iterMessages()) {\n if (done) continue;\n if (sse.data.startsWith('[DONE]')) {\n done = true;\n continue;\n }\n if (sse.event === null) {\n try {\n yield JSON.parse(sse.data);\n } catch (e) {\n console.error(`Could not parse message into JSON:`, sse.data);\n console.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n }\n done = true;\n } catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (e instanceof Error && e.name === 'AbortError') return;\n throw e;\n } finally {\n // If the user `break`s, abort the ongoing request.\n if (!done) this.controller.abort();\n }\n }\n}\nexports.Stream = Stream;\nclass SSEDecoder {\n constructor() {\n this.event = null;\n this.data = [];\n this.chunks = [];\n }\n decode(line) {\n if (line.endsWith('\\r')) {\n line = line.substring(0, line.length - 1);\n }\n if (!line) {\n // empty line and we didn't previously encounter any messages\n if (!this.event && !this.data.length) return null;\n const sse = {\n event: this.event,\n data: this.data.join('\\n'),\n raw: this.chunks,\n };\n this.event = null;\n this.data = [];\n this.chunks = [];\n return sse;\n }\n this.chunks.push(line);\n if (line.startsWith(':')) {\n return null;\n }\n let [fieldname, _, value] = partition(line, ':');\n if (value.startsWith(' ')) {\n value = value.substring(1);\n }\n if (fieldname === 'event') {\n this.event = value;\n } else if (fieldname === 'data') {\n this.data.push(value);\n }\n return null;\n }\n}\n/**\n * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally\n * reading lines from text.\n *\n * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258\n */\nclass LineDecoder {\n constructor() {\n this.buffer = [];\n this.trailingCR = false;\n }\n decode(chunk) {\n let text = this.decodeText(chunk);\n if (this.trailingCR) {\n text = '\\r' + text;\n this.trailingCR = false;\n }\n if (text.endsWith('\\r')) {\n this.trailingCR = true;\n text = text.slice(0, -1);\n }\n if (!text) {\n return [];\n }\n const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || '');\n let lines = text.split(LineDecoder.NEWLINE_REGEXP);\n if (lines.length === 1 && !trailingNewline) {\n this.buffer.push(lines[0]);\n return [];\n }\n if (this.buffer.length > 0) {\n lines = [this.buffer.join('') + lines[0], ...lines.slice(1)];\n this.buffer = [];\n }\n if (!trailingNewline) {\n this.buffer = [lines.pop() || ''];\n }\n return lines;\n }\n decodeText(bytes) {\n var _a;\n if (bytes == null) return '';\n if (typeof bytes === 'string') return bytes;\n // Node:\n if (typeof Buffer !== 'undefined') {\n if (bytes instanceof Buffer) {\n return bytes.toString();\n }\n if (bytes instanceof Uint8Array) {\n return Buffer.from(bytes).toString();\n }\n throw new Error(\n `Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global \"Buffer\" defined, which this library assumes to be Node. Please report this error.`,\n );\n }\n // Browser\n if (typeof TextDecoder !== 'undefined') {\n if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) {\n (_a = this.textDecoder) !== null && _a !== void 0 ? _a : (this.textDecoder = new TextDecoder('utf8'));\n return this.textDecoder.decode(bytes);\n }\n throw new Error(\n `Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`,\n );\n }\n throw new Error(\n `Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`,\n );\n }\n flush() {\n if (!this.buffer.length && !this.trailingCR) {\n return [];\n }\n const lines = [this.buffer.join('')];\n this.buffer = [];\n this.trailingCR = false;\n return lines;\n }\n}\n// prettier-ignore\nLineDecoder.NEWLINE_CHARS = new Set(['\\n', '\\r', '\\x0b', '\\x0c', '\\x1c', '\\x1d', '\\x1e', '\\x85', '\\u2028', '\\u2029']);\nLineDecoder.NEWLINE_REGEXP = /\\r\\n|[\\n\\r\\x0b\\x0c\\x1c\\x1d\\x1e\\x85\\u2028\\u2029]/g;\nfunction partition(str, delimiter) {\n const index = str.indexOf(delimiter);\n if (index !== -1) {\n return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];\n }\n return [str, '', ''];\n}\n/**\n * Most browsers don't yet have async iterable support for ReadableStream,\n * and Node has a very different way of reading bytes from its \"ReadableStream\".\n *\n * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nfunction readableStreamAsyncIterable(stream) {\n if (stream[Symbol.asyncIterator]) return stream;\n const reader = stream.getReader();\n return {\n async next() {\n try {\n const result = await reader.read();\n if (result === null || result === void 0 ? void 0 : result.done) reader.releaseLock(); // release lock when stream becomes closed\n return result;\n } catch (e) {\n reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n },\n async return() {\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n return { done: true, value: undefined };\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n//# sourceMappingURL=streaming.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Images = void 0;\nconst resource_1 = require('openai/resource');\nconst core_1 = require('openai/core');\nclass Images extends resource_1.APIResource {\n /**\n * Creates a variation of a given image.\n */\n createVariation(body, options) {\n return this.post('/images/variations', (0, core_1.multipartFormRequestOptions)({ body, ...options }));\n }\n /**\n * Creates an edited or extended image given an original image and a prompt.\n */\n edit(body, options) {\n return this.post('/images/edits', (0, core_1.multipartFormRequestOptions)({ body, ...options }));\n }\n /**\n * Creates an image given a prompt.\n */\n generate(body, options) {\n return this.post('/images/generations', { body, ...options });\n }\n}\nexports.Images = Images;\n(function (Images) {})((Images = exports.Images || (exports.Images = {})));\n//# sourceMappingURL=images.js.map\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.VERSION = void 0;\nexports.VERSION = '4.0.0';\n//# sourceMappingURL=version.js.map\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip2Vue.vue?vue&type=style&index=0&id=11a3bd82&prod&scoped=true&lang=css\"","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Translations = exports.Transcriptions = exports.Audio = void 0;\nvar audio_1 = require('./audio.js');\nObject.defineProperty(exports, 'Audio', {\n enumerable: true,\n get: function () {\n return audio_1.Audio;\n },\n});\nvar transcriptions_1 = require('./transcriptions.js');\nObject.defineProperty(exports, 'Transcriptions', {\n enumerable: true,\n get: function () {\n return transcriptions_1.Transcriptions;\n },\n});\nvar translations_1 = require('./translations.js');\nObject.defineProperty(exports, 'Translations', {\n enumerable: true,\n get: function () {\n return translations_1.Translations;\n },\n});\n//# sourceMappingURL=index.js.map\n","'use strict';\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.createForm =\n exports.multipartFormRequestOptions =\n exports.maybeMultipartFormRequestOptions =\n exports.isMultipartBody =\n exports.MultipartBody =\n exports.toFile =\n exports.isUploadable =\n exports.isBlobLike =\n exports.isFileLike =\n exports.isResponseLike =\n exports.fileFromPath =\n void 0;\nconst formdata_1 = require('openai/_shims/formdata');\nconst getMultipartRequestOptions_1 = require('openai/_shims/getMultipartRequestOptions');\nconst fileFromPath_1 = require('openai/_shims/fileFromPath');\nObject.defineProperty(exports, 'fileFromPath', {\n enumerable: true,\n get: function () {\n return fileFromPath_1.fileFromPath;\n },\n});\nconst node_readable_1 = require('openai/_shims/node-readable');\nconst isResponseLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\nexports.isResponseLike = isResponseLike;\nconst isFileLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n (0, exports.isBlobLike)(value);\nexports.isFileLike = isFileLike;\n/**\n * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check\n * adds the arrayBuffer() method type because it is available and used at runtime\n */\nconst isBlobLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\nexports.isBlobLike = isBlobLike;\nconst isUploadable = (value) => {\n return (\n (0, exports.isFileLike)(value) ||\n (0, exports.isResponseLike)(value) ||\n (0, node_readable_1.isFsReadStream)(value)\n );\n};\nexports.isUploadable = isUploadable;\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nasync function toFile(value, name, options = {}) {\n var _a, _b, _c;\n // If it's a promise, resolve it.\n value = await value;\n if ((0, exports.isResponseLike)(value)) {\n const blob = await value.blob();\n name ||\n (name =\n (_a = new URL(value.url).pathname.split(/[\\\\/]/).pop()) !== null && _a !== void 0 ?\n _a\n : 'unknown_file');\n return new formdata_1.File([blob], name, options);\n }\n const bits = await getBytes(value);\n name || (name = (_b = getName(value)) !== null && _b !== void 0 ? _b : 'unknown_file');\n if (!options.type) {\n const type = (_c = bits[0]) === null || _c === void 0 ? void 0 : _c.type;\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return new formdata_1.File(bits, name, options);\n}\nexports.toFile = toFile;\nasync function getBytes(value) {\n var _a;\n let parts = [];\n if (\n typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer\n ) {\n parts.push(value);\n } else if ((0, exports.isBlobLike)(value)) {\n parts.push(await value.arrayBuffer());\n } else if (\n isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(chunk); // TODO, consider validating?\n }\n } else {\n throw new Error(\n `Unexpected data type: ${typeof value}; constructor: ${\n (_a = value === null || value === void 0 ? void 0 : value.constructor) === null || _a === void 0 ?\n void 0\n : _a.name\n }; props: ${propsForError(value)}`,\n );\n }\n return parts;\n}\nfunction propsForError(value) {\n const props = Object.getOwnPropertyNames(value);\n return `[${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\nfunction getName(value) {\n var _a;\n return (\n getStringFromMaybeBuffer(value.name) ||\n getStringFromMaybeBuffer(value.filename) ||\n // For fs.ReadStream\n ((_a = getStringFromMaybeBuffer(value.path)) === null || _a === void 0 ? void 0 : _a.split(/[\\\\/]/).pop())\n );\n}\nconst getStringFromMaybeBuffer = (x) => {\n if (typeof x === 'string') return x;\n if (typeof Buffer !== 'undefined' && x instanceof Buffer) return String(x);\n return undefined;\n};\nconst isAsyncIterableIterator = (value) =>\n value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\nclass MultipartBody {\n constructor(body) {\n this.body = body;\n }\n get [Symbol.toStringTag]() {\n return 'MultipartBody';\n }\n}\nexports.MultipartBody = MultipartBody;\nconst isMultipartBody = (body) =>\n body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';\nexports.isMultipartBody = isMultipartBody;\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nconst maybeMultipartFormRequestOptions = async (opts) => {\n if (!hasUploadableValue(opts.body)) return opts;\n const form = await (0, exports.createForm)(opts.body);\n return (0, getMultipartRequestOptions_1.getMultipartRequestOptions)(form, opts);\n};\nexports.maybeMultipartFormRequestOptions = maybeMultipartFormRequestOptions;\nconst multipartFormRequestOptions = async (opts) => {\n const form = await (0, exports.createForm)(opts.body);\n return (0, getMultipartRequestOptions_1.getMultipartRequestOptions)(form, opts);\n};\nexports.multipartFormRequestOptions = multipartFormRequestOptions;\nconst createForm = async (body) => {\n const form = new formdata_1.FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));\n return form;\n};\nexports.createForm = createForm;\nconst hasUploadableValue = (value) => {\n if ((0, exports.isUploadable)(value)) return true;\n if (Array.isArray(value)) return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k])) return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value) => {\n if (value === undefined) return;\n if (value == null) {\n throw new TypeError(\n `Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`,\n );\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n } else if ((0, exports.isUploadable)(value)) {\n const file = await toFile(value);\n form.append(key, file);\n } else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));\n } else if (typeof value === 'object') {\n await Promise.all(\n Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)),\n );\n } else {\n throw new TypeError(\n `Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`,\n );\n }\n};\n//# sourceMappingURL=uploads.js.map\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipExclamation.vue?vue&type=style&index=0&id=be3f056e&prod&scoped=true&lang=css\"","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nvar __createBinding =\n (this && this.__createBinding) ||\n (Object.create ?\n function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n },\n };\n }\n Object.defineProperty(o, k2, desc);\n }\n : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n });\nvar __setModuleDefault =\n (this && this.__setModuleDefault) ||\n (Object.create ?\n function (o, v) {\n Object.defineProperty(o, 'default', { enumerable: true, value: v });\n }\n : function (o, v) {\n o['default'] = v;\n });\nvar __importStar =\n (this && this.__importStar) ||\n function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };\nvar _a;\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.fileFromPath =\n exports.toFile =\n exports.UnprocessableEntityError =\n exports.PermissionDeniedError =\n exports.InternalServerError =\n exports.AuthenticationError =\n exports.BadRequestError =\n exports.RateLimitError =\n exports.ConflictError =\n exports.NotFoundError =\n exports.APIUserAbortError =\n exports.APIConnectionTimeoutError =\n exports.APIConnectionError =\n exports.APIError =\n exports.OpenAI =\n void 0;\nconst Core = __importStar(require('./core.js'));\nconst Pagination = __importStar(require('./pagination.js'));\nconst API = __importStar(require('./resources/index.js'));\nconst Errors = __importStar(require('./error.js'));\nconst Uploads = __importStar(require('./uploads.js'));\n/** API Client for interfacing with the OpenAI API. */\nclass OpenAI extends Core.APIClient {\n /**\n * API Client for interfacing with the OpenAI API.\n *\n * @param {string} [opts.apiKey=process.env['OPENAI_API_KEY']] - The API Key to send to the API.\n * @param {string} [opts.baseURL] - Override the default base URL for the API.\n * @param {number} [opts.timeout=10 minutes] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.\n * @param {number} [opts.httpAgent] - An HTTP agent used to manage HTTP(s) connections.\n * @param {Core.Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.\n * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.\n * @param {Core.Headers} opts.defaultHeaders - Default headers to include with every request to the API.\n * @param {Core.DefaultQuery} opts.defaultQuery - Default query parameters to include with every request to the API.\n * @param {boolean} [opts.dangerouslyAllowBrowser=false] - By default, client-side use of this library is not allowed, as it risks exposing your secret API credentials to attackers.\n * @param {string | null} [opts.organization]\n */\n constructor(_b) {\n var _c, _d;\n var {\n apiKey = Core.readEnv('OPENAI_API_KEY'),\n organization = (_c = Core.readEnv('OPENAI_ORG_ID')) !== null && _c !== void 0 ? _c : null,\n ...opts\n } = _b === void 0 ? {} : _b;\n if (apiKey === undefined) {\n throw new Error(\n \"The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'my apiKey' }).\",\n );\n }\n const options = {\n apiKey,\n organization,\n baseURL: `https://api.openai.com/v1`,\n ...opts,\n };\n if (!options.dangerouslyAllowBrowser && Core.isRunningInBrowser()) {\n throw new Error(\n \"It looks like you're running in a browser-like environment.\\n\\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\\nIf you understand the risks and have appropriate mitigations in place,\\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\\n\\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\\n\\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\\n\",\n );\n }\n super({\n baseURL: options.baseURL,\n timeout: (_d = options.timeout) !== null && _d !== void 0 ? _d : 600000 /* 10 minutes */,\n httpAgent: options.httpAgent,\n maxRetries: options.maxRetries,\n fetch: options.fetch,\n });\n this.completions = new API.Completions(this);\n this.chat = new API.Chat(this);\n this.edits = new API.Edits(this);\n this.embeddings = new API.Embeddings(this);\n this.files = new API.Files(this);\n this.images = new API.Images(this);\n this.audio = new API.Audio(this);\n this.moderations = new API.Moderations(this);\n this.models = new API.Models(this);\n this.fineTunes = new API.FineTunes(this);\n this._options = options;\n this.apiKey = apiKey;\n this.organization = organization;\n }\n defaultQuery() {\n return this._options.defaultQuery;\n }\n defaultHeaders() {\n return {\n ...super.defaultHeaders(),\n 'OpenAI-Organization': this.organization,\n ...this._options.defaultHeaders,\n };\n }\n authHeaders() {\n return { Authorization: `Bearer ${this.apiKey}` };\n }\n}\nexports.OpenAI = OpenAI;\n_a = OpenAI;\nOpenAI.OpenAI = _a;\nOpenAI.APIError = Errors.APIError;\nOpenAI.APIConnectionError = Errors.APIConnectionError;\nOpenAI.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;\nOpenAI.APIUserAbortError = Errors.APIUserAbortError;\nOpenAI.NotFoundError = Errors.NotFoundError;\nOpenAI.ConflictError = Errors.ConflictError;\nOpenAI.RateLimitError = Errors.RateLimitError;\nOpenAI.BadRequestError = Errors.BadRequestError;\nOpenAI.AuthenticationError = Errors.AuthenticationError;\nOpenAI.InternalServerError = Errors.InternalServerError;\nOpenAI.PermissionDeniedError = Errors.PermissionDeniedError;\nOpenAI.UnprocessableEntityError = Errors.UnprocessableEntityError;\n(exports.APIError = Errors.APIError),\n (exports.APIConnectionError = Errors.APIConnectionError),\n (exports.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError),\n (exports.APIUserAbortError = Errors.APIUserAbortError),\n (exports.NotFoundError = Errors.NotFoundError),\n (exports.ConflictError = Errors.ConflictError),\n (exports.RateLimitError = Errors.RateLimitError),\n (exports.BadRequestError = Errors.BadRequestError),\n (exports.AuthenticationError = Errors.AuthenticationError),\n (exports.InternalServerError = Errors.InternalServerError),\n (exports.PermissionDeniedError = Errors.PermissionDeniedError),\n (exports.UnprocessableEntityError = Errors.UnprocessableEntityError);\nexports.toFile = Uploads.toFile;\nexports.fileFromPath = Uploads.fileFromPath;\n(function (OpenAI) {\n // Helper functions\n OpenAI.toFile = Uploads.toFile;\n OpenAI.fileFromPath = Uploads.fileFromPath;\n OpenAI.Page = Pagination.Page;\n OpenAI.Completions = API.Completions;\n OpenAI.Chat = API.Chat;\n OpenAI.Edits = API.Edits;\n OpenAI.Embeddings = API.Embeddings;\n OpenAI.Files = API.Files;\n OpenAI.FileObjectsPage = API.FileObjectsPage;\n OpenAI.Images = API.Images;\n OpenAI.Audio = API.Audio;\n OpenAI.Moderations = API.Moderations;\n OpenAI.Models = API.Models;\n OpenAI.ModelsPage = API.ModelsPage;\n OpenAI.FineTunes = API.FineTunes;\n OpenAI.FineTunesPage = API.FineTunesPage;\n})((OpenAI = exports.OpenAI || (exports.OpenAI = {})));\nexports = module.exports = OpenAI;\nexports.default = OpenAI;\n//# sourceMappingURL=index.js.map\n","export const VERSION = '4.0.0';\n//# sourceMappingURL=version.mjs.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Completions = void 0;\nconst resource_1 = require('openai/resource');\nclass Completions extends resource_1.APIResource {\n create(body, options) {\n var _a;\n return this.post('/chat/completions', {\n body,\n ...options,\n stream: (_a = body.stream) !== null && _a !== void 0 ? _a : false,\n });\n }\n}\nexports.Completions = Completions;\n(function (Completions) {})((Completions = exports.Completions || (exports.Completions = {})));\n//# sourceMappingURL=completions.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Moderations = void 0;\nconst resource_1 = require('openai/resource');\nclass Moderations extends resource_1.APIResource {\n /**\n * Classifies if text violates OpenAI's Content Policy\n */\n create(body, options) {\n return this.post('/moderations', { body, ...options });\n }\n}\nexports.Moderations = Moderations;\n(function (Moderations) {})((Moderations = exports.Moderations || (exports.Moderations = {})));\n//# sourceMappingURL=moderations.js.map\n","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n *\n * This is a stub for non-node environments.\n * In node environments, it gets replaced agent.node.ts by the package export map\n */\nexport const getDefaultAgent = (url) => {\n return undefined;\n};\n//# sourceMappingURL=agent.mjs.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.InternalServerError =\n exports.RateLimitError =\n exports.UnprocessableEntityError =\n exports.ConflictError =\n exports.NotFoundError =\n exports.PermissionDeniedError =\n exports.AuthenticationError =\n exports.BadRequestError =\n exports.APIConnectionTimeoutError =\n exports.APIConnectionError =\n exports.APIUserAbortError =\n exports.APIError =\n void 0;\nconst core_1 = require('./core.js');\nclass APIError extends Error {\n constructor(status, error, message, headers) {\n super(APIError.makeMessage(error, message));\n this.status = status;\n this.headers = headers;\n const data = error;\n this.error = data;\n this.code = data === null || data === void 0 ? void 0 : data['code'];\n this.param = data === null || data === void 0 ? void 0 : data['param'];\n this.type = data === null || data === void 0 ? void 0 : data['type'];\n }\n static makeMessage(error, message) {\n return (\n (\n error === null || error === void 0 ? void 0 : error.message\n ) ?\n typeof error.message === 'string' ? error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message || 'Unknown error occurred'\n );\n }\n static generate(status, errorResponse, message, headers) {\n if (!status) {\n return new APIConnectionError({ cause: (0, core_1.castToError)(errorResponse) });\n }\n const error = errorResponse === null || errorResponse === void 0 ? void 0 : errorResponse['error'];\n if (status === 400) {\n return new BadRequestError(status, error, message, headers);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers);\n }\n return new APIError(status, error, message, headers);\n }\n}\nexports.APIError = APIError;\nclass APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n this.status = undefined;\n }\n}\nexports.APIUserAbortError = APIUserAbortError;\nclass APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n this.status = undefined;\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause) this.cause = cause;\n }\n}\nexports.APIConnectionError = APIConnectionError;\nclass APIConnectionTimeoutError extends APIConnectionError {\n constructor() {\n super({ message: 'Request timed out.' });\n }\n}\nexports.APIConnectionTimeoutError = APIConnectionTimeoutError;\nclass BadRequestError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 400;\n }\n}\nexports.BadRequestError = BadRequestError;\nclass AuthenticationError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 401;\n }\n}\nexports.AuthenticationError = AuthenticationError;\nclass PermissionDeniedError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 403;\n }\n}\nexports.PermissionDeniedError = PermissionDeniedError;\nclass NotFoundError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 404;\n }\n}\nexports.NotFoundError = NotFoundError;\nclass ConflictError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 409;\n }\n}\nexports.ConflictError = ConflictError;\nclass UnprocessableEntityError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 422;\n }\n}\nexports.UnprocessableEntityError = UnprocessableEntityError;\nclass RateLimitError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 429;\n }\n}\nexports.RateLimitError = RateLimitError;\nclass InternalServerError extends APIError {}\nexports.InternalServerError = InternalServerError;\n//# sourceMappingURL=error.js.map\n","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nimport { MultipartBody } from '../uploads.mjs';\nexport async function getMultipartRequestOptions(form, opts) {\n return { ...opts, body: new MultipartBody(form) };\n}\n//# sourceMappingURL=getMultipartRequestOptions.mjs.map\n","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n *\n * This is a stub that gets replaced by fileFromPath.node.js for node environments\n * in the package export map\n */\nexport async function fileFromPath() {\n throw new Error(\n 'The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads',\n );\n}\n//# sourceMappingURL=fileFromPath.mjs.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Edits = void 0;\nconst resource_1 = require('openai/resource');\nclass Edits extends resource_1.APIResource {\n /**\n * Creates a new edit for the provided input, instruction, and parameters.\n *\n * @deprecated The Edits API is deprecated; please use Chat Completions instead.\n *\n * https://openai.com/blog/gpt-4-api-general-availability#deprecation-of-the-edits-api\n */\n create(body, options) {\n return this.post('/edits', { body, ...options });\n }\n}\nexports.Edits = Edits;\n(function (Edits) {})((Edits = exports.Edits || (exports.Edits = {})));\n//# sourceMappingURL=edits.js.map\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatResultadosEvaluacion.vue?vue&type=style&index=0&id=47ba5410&prod&scoped=true&lang=css\"","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Transcriptions = void 0;\nconst resource_1 = require('openai/resource');\nconst core_1 = require('openai/core');\nclass Transcriptions extends resource_1.APIResource {\n /**\n * Transcribes audio into the input language.\n */\n create(body, options) {\n return this.post('/audio/transcriptions', (0, core_1.multipartFormRequestOptions)({ body, ...options }));\n }\n}\nexports.Transcriptions = Transcriptions;\n(function (Transcriptions) {})((Transcriptions = exports.Transcriptions || (exports.Transcriptions = {})));\n//# sourceMappingURL=transcriptions.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Translations = void 0;\nconst resource_1 = require('openai/resource');\nconst core_1 = require('openai/core');\nclass Translations extends resource_1.APIResource {\n /**\n * Translates audio into English.\n */\n create(body, options) {\n return this.post('/audio/translations', (0, core_1.multipartFormRequestOptions)({ body, ...options }));\n }\n}\nexports.Translations = Translations;\n(function (Translations) {})((Translations = exports.Translations || (exports.Translations = {})));\n//# sourceMappingURL=translations.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.FileObjectsPage = exports.Files = void 0;\nconst resource_1 = require('openai/resource');\nconst core_1 = require('openai/core');\nconst pagination_1 = require('openai/pagination');\nclass Files extends resource_1.APIResource {\n /**\n * Upload a file that contains document(s) to be used across various\n * endpoints/features. Currently, the size of all the files uploaded by one\n * organization can be up to 1 GB. Please contact us if you need to increase the\n * storage limit.\n */\n create(body, options) {\n return this.post('/files', (0, core_1.multipartFormRequestOptions)({ body, ...options }));\n }\n /**\n * Returns information about a specific file.\n */\n retrieve(fileId, options) {\n return this.get(`/files/${fileId}`, options);\n }\n /**\n * Returns a list of files that belong to the user's organization.\n */\n list(options) {\n return this.getAPIList('/files', FileObjectsPage, options);\n }\n /**\n * Delete a file.\n */\n del(fileId, options) {\n return this.delete(`/files/${fileId}`, options);\n }\n /**\n * Returns the contents of the specified file\n */\n retrieveContent(fileId, options) {\n return this.get(`/files/${fileId}/content`, {\n ...options,\n headers: {\n Accept: 'application/json',\n ...(options === null || options === void 0 ? void 0 : options.headers),\n },\n });\n }\n}\nexports.Files = Files;\n/**\n * Note: no pagination actually occurs yet, this is for forwards-compatibility.\n */\nclass FileObjectsPage extends pagination_1.Page {}\nexports.FileObjectsPage = FileObjectsPage;\n(function (Files) {})((Files = exports.Files || (exports.Files = {})));\n//# sourceMappingURL=files.js.map\n","var __classPrivateFieldSet =\n (this && this.__classPrivateFieldSet) ||\n function (receiver, state, value, kind, f) {\n if (kind === 'm') throw new TypeError('Private method is not writable');\n if (kind === 'a' && !f) throw new TypeError('Private accessor was defined without a setter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot write private member to an object whose class did not declare it');\n return (\n kind === 'a' ? f.call(receiver, value)\n : f ? (f.value = value)\n : state.set(receiver, value),\n value\n );\n };\nvar __classPrivateFieldGet =\n (this && this.__classPrivateFieldGet) ||\n function (receiver, state, kind, f) {\n if (kind === 'a' && !f) throw new TypeError('Private accessor was defined without a getter');\n if (typeof state === 'function' ? receiver !== state || !f : !state.has(receiver))\n throw new TypeError('Cannot read private member from an object whose class did not declare it');\n return (\n kind === 'm' ? f\n : kind === 'a' ? f.call(receiver)\n : f ? f.value\n : state.get(receiver)\n );\n };\nvar _AbstractPage_client;\nimport { VERSION } from './version.mjs';\nimport { Stream } from './streaming.mjs';\nimport { APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError } from './error.mjs';\nimport { getDefaultAgent } from 'openai/_shims/agent';\nimport { fetch, isPolyfilled as fetchIsPolyfilled } from 'openai/_shims/fetch';\nimport { isMultipartBody } from './uploads.mjs';\nexport { maybeMultipartFormRequestOptions, multipartFormRequestOptions, createForm } from './uploads.mjs';\nconst MAX_RETRIES = 2;\nasync function defaultParseResponse(props) {\n const { response } = props;\n if (props.options.stream) {\n // Note: there is an invariant here that isn't represented in the type system\n // that if you set `stream: true` the response type must also be `Stream`\n return new Stream(response, props.controller);\n }\n const contentType = response.headers.get('content-type');\n if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {\n const json = await response.json();\n debug('response', response.status, response.url, response.headers, json);\n return json;\n }\n // TODO handle blob, arraybuffer, other content types, etc.\n const text = await response.text();\n debug('response', response.status, response.url, response.headers, text);\n return text;\n}\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nexport class APIPromise extends Promise {\n constructor(responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n }\n _thenUnwrap(transform) {\n return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props)));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data and the raw `Response` instance.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then(this.parseResponse);\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\nexport class APIClient {\n constructor({\n baseURL,\n maxRetries,\n timeout = 600000, // 10 minutes\n httpAgent,\n fetch: overridenFetch,\n }) {\n this.baseURL = baseURL;\n this.maxRetries = validatePositiveInteger(\n 'maxRetries',\n maxRetries !== null && maxRetries !== void 0 ? maxRetries : MAX_RETRIES,\n );\n this.timeout = validatePositiveInteger('timeout', timeout);\n this.httpAgent = httpAgent;\n this.fetch = overridenFetch !== null && overridenFetch !== void 0 ? overridenFetch : fetch;\n }\n authHeaders() {\n return {};\n }\n /**\n * Override this to add your own default headers, for example:\n *\n * {\n * ...super.defaultHeaders(),\n * Authorization: 'Bearer 123',\n * }\n */\n defaultHeaders() {\n return {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'User-Agent': this.getUserAgent(),\n ...getPlatformHeaders(),\n ...this.authHeaders(),\n };\n }\n /**\n * Override this to add your own headers validation:\n */\n validateHeaders(headers, customHeaders) {}\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then((opts) => ({ method, path, ...opts })));\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, { method: 'get', path, ...opts });\n }\n calculateContentLength(body) {\n if (typeof body === 'string') {\n if (typeof Buffer !== 'undefined') {\n return Buffer.byteLength(body, 'utf8').toString();\n }\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder();\n const encoded = encoder.encode(body);\n return encoded.length.toString();\n }\n }\n return null;\n }\n buildRequest(options) {\n var _a, _b, _c, _d, _e, _f;\n const { method, path, query, headers: headers = {} } = options;\n const body =\n isMultipartBody(options.body) ? options.body.body\n : options.body ? JSON.stringify(options.body, null, 2)\n : null;\n const contentLength = this.calculateContentLength(body);\n const url = this.buildURL(path, query);\n if ('timeout' in options) validatePositiveInteger('timeout', options.timeout);\n const timeout = (_a = options.timeout) !== null && _a !== void 0 ? _a : this.timeout;\n const httpAgent =\n (\n (_c = (_b = options.httpAgent) !== null && _b !== void 0 ? _b : this.httpAgent) !== null &&\n _c !== void 0\n ) ?\n _c\n : getDefaultAgent(url);\n const minAgentTimeout = timeout + 1000;\n if (\n typeof ((\n (_d = httpAgent === null || httpAgent === void 0 ? void 0 : httpAgent.options) === null ||\n _d === void 0\n ) ?\n void 0\n : _d.timeout) === 'number' &&\n minAgentTimeout > ((_e = httpAgent.options.timeout) !== null && _e !== void 0 ? _e : 0)\n ) {\n // Allow any given request to bump our agent active socket timeout.\n // This may seem strange, but leaking active sockets should be rare and not particularly problematic,\n // and without mutating agent we would need to create more of them.\n // This tradeoff optimizes for performance.\n httpAgent.options.timeout = minAgentTimeout;\n }\n if (this.idempotencyHeader && method !== 'get') {\n if (!options.idempotencyKey) options.idempotencyKey = this.defaultIdempotencyKey();\n headers[this.idempotencyHeader] = options.idempotencyKey;\n }\n const reqHeaders = {\n ...(contentLength && { 'Content-Length': contentLength }),\n ...this.defaultHeaders(),\n ...headers,\n };\n // let builtin fetch set the Content-Type for multipart bodies\n if (isMultipartBody(options.body) && !fetchIsPolyfilled) {\n delete reqHeaders['Content-Type'];\n }\n // Strip any headers being explicitly omitted with null\n Object.keys(reqHeaders).forEach((key) => reqHeaders[key] === null && delete reqHeaders[key]);\n const req = {\n method,\n ...(body && { body: body }),\n headers: reqHeaders,\n ...(httpAgent && { agent: httpAgent }),\n // @ts-ignore node-fetch uses a custom AbortSignal type that is\n // not compatible with standard web types\n signal: (_f = options.signal) !== null && _f !== void 0 ? _f : null,\n };\n this.validateHeaders(reqHeaders, headers);\n return { req, url, timeout };\n }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url }) {}\n makeStatusError(status, error, message, headers) {\n return APIError.generate(status, error, message, headers);\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this.makeRequest(options, remainingRetries));\n }\n async makeRequest(optionsInput, retriesRemaining) {\n var _a, _b, _c;\n const options = await optionsInput;\n if (retriesRemaining == null) {\n retriesRemaining = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;\n }\n const { req, url, timeout } = this.buildRequest(options);\n await this.prepareRequest(req, { url });\n debug('request', url, options, req.headers);\n if ((_b = options.signal) === null || _b === void 0 ? void 0 : _b.aborted) {\n throw new APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);\n if (response instanceof Error) {\n if ((_c = options.signal) === null || _c === void 0 ? void 0 : _c.aborted) {\n throw new APIUserAbortError();\n }\n if (retriesRemaining) {\n return this.retryRequest(options, retriesRemaining);\n }\n if (response.name === 'AbortError') {\n throw new APIConnectionTimeoutError();\n }\n throw new APIConnectionError({ cause: response });\n }\n const responseHeaders = createResponseHeaders(response.headers);\n if (!response.ok) {\n if (retriesRemaining && this.shouldRetry(response)) {\n return this.retryRequest(options, retriesRemaining, responseHeaders);\n }\n const errText = await response.text().catch(() => 'Unknown');\n const errJSON = safeJSON(errText);\n const errMessage = errJSON ? undefined : errText;\n debug('response', response.status, url, responseHeaders, errMessage);\n const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);\n throw err;\n }\n return { response, options, controller };\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null);\n return new PagePromise(this, request, Page);\n }\n buildURL(path, query) {\n const url =\n isAbsoluteURL(path) ?\n new URL(path)\n : new URL(this.baseURL + (this.baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n if (!isEmptyObj(defaultQuery)) {\n query = { ...defaultQuery, ...query };\n }\n if (query) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new Error(\n `Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,\n );\n })\n .join('&');\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, ...options } = init || {};\n if (signal) signal.addEventListener('abort', () => controller.abort());\n const timeout = setTimeout(() => controller.abort(), ms);\n return this.getRequestClient()\n .fetch(url, { signal: controller.signal, ...options })\n .finally(() => {\n clearTimeout(timeout);\n });\n }\n getRequestClient() {\n return { fetch: this.fetch };\n }\n shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true') return true;\n if (shouldRetryHeader === 'false') return false;\n // Retry on lock timeouts.\n if (response.status === 409) return true;\n // Retry on rate limits.\n if (response.status === 429) return true;\n // Retry internal errors.\n if (response.status >= 500) return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, responseHeaders) {\n var _a;\n retriesRemaining -= 1;\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n //\n // TODO: we may want to handle the case where the header is using the http-date syntax: \"Retry-After: \".\n // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After#syntax for details.\n const retryAfter = parseInt(\n (responseHeaders === null || responseHeaders === void 0 ? void 0 : responseHeaders['retry-after']) ||\n '',\n );\n const maxRetries = (_a = options.maxRetries) !== null && _a !== void 0 ? _a : this.maxRetries;\n const timeout = this.calculateRetryTimeoutSeconds(retriesRemaining, retryAfter, maxRetries) * 1000;\n await sleep(timeout);\n return this.makeRequest(options, retriesRemaining);\n }\n calculateRetryTimeoutSeconds(retriesRemaining, retryAfter, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 2;\n // If the API asks us to wait a certain amount of time (and it's a reasonable amount),\n // just do what it says.\n if (Number.isInteger(retryAfter) && retryAfter <= 60) {\n return retryAfter;\n }\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(numRetries - 1, 2), maxRetryDelay);\n // Apply some jitter, plus-or-minus half a second.\n const jitter = Math.random() - 0.5;\n return sleepSeconds + jitter;\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${VERSION}`;\n }\n}\nexport class APIResource {\n constructor(client) {\n this.client = client;\n this.get = client.get.bind(client);\n this.post = client.post.bind(client);\n this.patch = client.patch.bind(client);\n this.put = client.put.bind(client);\n this.delete = client.delete.bind(client);\n this.getAPIList = client.getAPIList.bind(client);\n }\n}\nexport class AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, 'f');\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length) return false;\n return this.nextPageInfo() != null;\n }\n async getNextPage() {\n const nextInfo = this.nextPageInfo();\n if (!nextInfo) {\n throw new Error(\n 'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',\n );\n }\n const nextOptions = { ...this.options };\n if ('params' in nextInfo) {\n nextOptions.query = { ...nextOptions.query, ...nextInfo.params };\n } else if ('url' in nextInfo) {\n const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()];\n for (const [key, value] of params) {\n nextInfo.url.searchParams.set(key, value);\n }\n nextOptions.query = undefined;\n nextOptions.path = nextInfo.url.toString();\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, 'f').requestAPIList(\n this.constructor,\n nextOptions,\n );\n }\n async *iterPages() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[((_AbstractPage_client = new WeakMap()), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nexport class PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(\n request,\n async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options),\n );\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexport const createResponseHeaders = (headers) => {\n return new Proxy(\n Object.fromEntries(\n // @ts-ignore\n headers.entries(),\n ),\n {\n get(target, name) {\n const key = name.toString();\n return target[key.toLowerCase()] || target[key];\n },\n },\n );\n};\n// This is required so that we can determine if a given object matches the RequestOptions\n// type at runtime. While this requires duplication, it is enforced by the TypeScript\n// compiler such that any missing / extraneous keys will cause an error.\nconst requestOptionsKeys = {\n method: true,\n path: true,\n query: true,\n body: true,\n headers: true,\n maxRetries: true,\n stream: true,\n timeout: true,\n httpAgent: true,\n signal: true,\n idempotencyKey: true,\n};\nexport const isRequestOptions = (obj) => {\n return (\n typeof obj === 'object' &&\n obj !== null &&\n !isEmptyObj(obj) &&\n Object.keys(obj).every((k) => hasOwn(requestOptionsKeys, k))\n );\n};\nconst getPlatformProperties = () => {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': Deno.version,\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n // Check if Node.js\n if (Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(process.platform),\n 'X-Stainless-Arch': normalizeArch(process.arch),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (!navigator || typeof navigator === 'undefined') {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32') return 'x32';\n if (arch === 'x86_64' || arch === 'x64') return 'x64';\n if (arch === 'arm') return 'arm';\n if (arch === 'aarch64' || arch === 'arm64') return 'arm64';\n if (arch) return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios')) return 'iOS';\n if (platform === 'android') return 'Android';\n if (platform === 'darwin') return 'MacOS';\n if (platform === 'win32') return 'Windows';\n if (platform === 'freebsd') return 'FreeBSD';\n if (platform === 'openbsd') return 'OpenBSD';\n if (platform === 'linux') return 'Linux';\n if (platform) return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nconst getPlatformHeaders = () => {\n return _platformHeaders !== null && _platformHeaders !== void 0 ?\n _platformHeaders\n : (_platformHeaders = getPlatformProperties());\n};\nexport const safeJSON = (text) => {\n try {\n return JSON.parse(text);\n } catch (err) {\n return undefined;\n }\n};\n// https://stackoverflow.com/a/19709846\nconst startsWithSchemeRegexp = new RegExp('^(?:[a-z]+:)?//', 'i');\nconst isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nconst sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nconst validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new Error(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new Error(`${name} must be a positive integer`);\n }\n return n;\n};\nexport const castToError = (err) => {\n if (err instanceof Error) return err;\n return new Error(err);\n};\nexport const ensurePresent = (value) => {\n if (value == null) throw new Error(`Expected a value to be given but received ${value} instead.`);\n return value;\n};\n/**\n * Read an environment variable.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nexport const readEnv = (env) => {\n var _a, _b, _c, _d;\n if (typeof process !== 'undefined') {\n return (_b = (_a = process.env) === null || _a === void 0 ? void 0 : _a[env]) !== null && _b !== void 0 ?\n _b\n : undefined;\n }\n if (typeof Deno !== 'undefined') {\n return (_d = (_c = Deno.env) === null || _c === void 0 ? void 0 : _c.get) === null || _d === void 0 ?\n void 0\n : _d.call(_c, env);\n }\n return undefined;\n};\nexport const coerceInteger = (value) => {\n if (typeof value === 'number') return Math.round(value);\n if (typeof value === 'string') return parseInt(value, 10);\n throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceFloat = (value) => {\n if (typeof value === 'number') return value;\n if (typeof value === 'string') return parseFloat(value);\n throw new Error(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceBoolean = (value) => {\n if (typeof value === 'boolean') return value;\n if (typeof value === 'string') return value === 'true';\n return Boolean(value);\n};\nexport const maybeCoerceInteger = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceInteger(value);\n};\nexport const maybeCoerceFloat = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceFloat(value);\n};\nexport const maybeCoerceBoolean = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceBoolean(value);\n};\n// https://stackoverflow.com/a/34491287\nexport function isEmptyObj(obj) {\n if (!obj) return true;\n for (const _k in obj) return false;\n return true;\n}\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nexport function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\nexport function debug(action, ...args) {\n if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {\n console.log(`OpenAI:DEBUG:${action}`, ...args);\n }\n}\n/**\n * https://stackoverflow.com/a/2117523\n */\nconst uuid4 = () => {\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};\nexport const isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined'\n );\n};\nexport const isHeadersProtocol = (headers) => {\n return typeof (headers === null || headers === void 0 ? void 0 : headers.get) === 'function';\n};\nexport const getHeader = (headers, key) => {\n const lowerKey = key.toLowerCase();\n if (isHeadersProtocol(headers)) return headers.get(key) || headers.get(lowerKey);\n const value = headers[key] || headers[lowerKey];\n if (Array.isArray(value)) {\n if (value.length <= 1) return value[0];\n console.warn(`Received ${value.length} entries for the ${key} header, using the first entry.`);\n return value[0];\n }\n return value;\n};\n/**\n * Encodes a string to Base64 format.\n */\nexport const toBase64 = (str) => {\n if (!str) return '';\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str).toString('base64');\n }\n if (typeof btoa !== 'undefined') {\n return btoa(str);\n }\n throw new Error('Cannot generate b64 string; Expected `Buffer` or `btoa` to be defined');\n};\n//# sourceMappingURL=core.mjs.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Embeddings = void 0;\nconst resource_1 = require('openai/resource');\nclass Embeddings extends resource_1.APIResource {\n /**\n * Creates an embedding vector representing the input text.\n */\n create(body, options) {\n return this.post('/embeddings', { body, ...options });\n }\n}\nexports.Embeddings = Embeddings;\n(function (Embeddings) {})((Embeddings = exports.Embeddings || (exports.Embeddings = {})));\n//# sourceMappingURL=embeddings.js.map\n","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nexport function isFsReadStream(value) {\n return false;\n}\n//# sourceMappingURL=node-readable.mjs.map\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('section',{staticClass:\"chatbot\"},[_c('div',{staticClass:\"header-chatbot\"},[_c('label',{staticClass:\"title\",attrs:{\"for\":\"userMessage\"}},[_vm._v(_vm._s(_vm.title))]),_c('TooltipExclamation',[_vm._t(\"default\",function(){return [_c('p',[_vm._v(\"Estoy preparado para responder preguntas específicas sobre los resultados de evaluación.\")]),_c('p',[_vm._v(\"Para un mejor rendimiento, te sugiero acotar la pregunta a una cantidad.\")])]})],2)],1),_c('ul',{staticClass:\"messages history\",attrs:{\"id\":\"history\"}},[_vm._l((_vm.showMessage),function({ role, content }){return _c('li',{key:content,staticClass:\"message\",class:role == 'user' ? 'm-user' : 'm-assistant'},[(content.includes('
'))?_c('article',{staticClass:\"message-text\",domProps:{\"innerHTML\":_vm._s(content)}}):_c('p',{staticClass:\"message-text\"},[_vm._v(\" \"+_vm._s(content)+\" \")])])}),(_vm.waitingMessage)?_c('li',{staticClass:\"message m-assistant\"},[_vm._m(0)]):_vm._e()],2),_c('input',{staticClass:\"input\",attrs:{\"placeholder\":\"Ingresa tu mensaje...\",\"type\":\"text\",\"id\":\"userMessage\"},domProps:{\"value\":_vm.value},on:{\"keyup\":_vm.handleKeyup,\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('p',{staticClass:\"message-text\"},[_c('i',{staticClass:\"fas fa-spinner fa-spin\"})])\n}]\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('Tooltip2Vue',{attrs:{\"hover\":\"\",\"position\":\"bottom-end\"},scopedSlots:_vm._u([{key:\"tooltip\",fn:function(){return [_c('div',{staticClass:\"wrapper-tooltip\"},[_vm._t(\"default\",function(){return [_vm._v(\" Este es un mensaje de advertencia \")]})],2)]},proxy:true}],null,true)},[_c('div',{staticClass:\"icon-exclamation\"},[_c('i',{staticClass:\"fas fa-exclamation\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipExclamation.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TooltipExclamation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TooltipExclamation.vue?vue&type=template&id=be3f056e&scoped=true\"\nimport script from \"./TooltipExclamation.vue?vue&type=script&lang=js\"\nexport * from \"./TooltipExclamation.vue?vue&type=script&lang=js\"\nimport style0 from \"./TooltipExclamation.vue?vue&type=style&index=0&id=be3f056e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"be3f056e\",\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatLayout.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatLayout.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChatLayout.vue?vue&type=template&id=6d56cc3b&scoped=true\"\nimport script from \"./ChatLayout.vue?vue&type=script&lang=js\"\nexport * from \"./ChatLayout.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChatLayout.vue?vue&type=style&index=0&id=6d56cc3b&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6d56cc3b\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"popper\",attrs:{\"tabindex\":\"0\"},on:{\"mouseover\":_vm.onOver,\"mouseout\":_vm.onOut,\"focus\":_vm.onFocus,\"blur\":_vm.closeBlur}},[_vm._t(\"default\",function(){return [_vm._m(0)]}),(!_vm.deleteTooltip)?_c('div',{staticClass:\"tp\",class:{ 'show': _vm.show }},[_vm._t(\"tooltip\",function(){return [_c('div',{staticClass:\"tp-default\"},[_vm._v(\" tooltip \")])]},{\"close\":_vm.close,\"isShow\":_vm.nativeShow})],2):_vm._e()],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"btn btn-outline-primary\"},[_vm._v(\"div\")])])\n}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip2Vue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tooltip2Vue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tooltip2Vue.vue?vue&type=template&id=11a3bd82&scoped=true\"\nimport script from \"./Tooltip2Vue.vue?vue&type=script&lang=js\"\nexport * from \"./Tooltip2Vue.vue?vue&type=script&lang=js\"\nimport style0 from \"./Tooltip2Vue.vue?vue&type=style&index=0&id=11a3bd82&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11a3bd82\",\n null\n \n)\n\nexport default component.exports","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\n\nconst _FormData = FormData;\nconst _File = File;\nconst _Blob = Blob;\n\nexport { _FormData as FormData, _File as File, _Blob as Blob };\n\nexport const isPolyfilled = false;\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nvar __createBinding =\n (this && this.__createBinding) ||\n (Object.create ?\n function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n },\n };\n }\n Object.defineProperty(o, k2, desc);\n }\n : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n });\nvar __setModuleDefault =\n (this && this.__setModuleDefault) ||\n (Object.create ?\n function (o, v) {\n Object.defineProperty(o, 'default', { enumerable: true, value: v });\n }\n : function (o, v) {\n o['default'] = v;\n });\nvar __importStar =\n (this && this.__importStar) ||\n function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Chat = void 0;\nconst resource_1 = require('openai/resource');\nconst completions_1 = require('./completions.js');\nconst API = __importStar(require('./index.js'));\nclass Chat extends resource_1.APIResource {\n constructor() {\n super(...arguments);\n this.completions = new completions_1.Completions(this.client);\n }\n}\nexports.Chat = Chat;\n(function (Chat) {\n Chat.Completions = API.Completions;\n})((Chat = exports.Chat || (exports.Chat = {})));\n//# sourceMappingURL=chat.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.ModelsPage = exports.Models = void 0;\nconst resource_1 = require('openai/resource');\nconst pagination_1 = require('openai/pagination');\nclass Models extends resource_1.APIResource {\n /**\n * Retrieves a model instance, providing basic information about the model such as\n * the owner and permissioning.\n */\n retrieve(model, options) {\n return this.get(`/models/${model}`, options);\n }\n /**\n * Lists the currently available models, and provides basic information about each\n * one such as the owner and availability.\n */\n list(options) {\n return this.getAPIList('/models', ModelsPage, options);\n }\n /**\n * Delete a fine-tuned model. You must have the Owner role in your organization.\n */\n del(model, options) {\n return this.delete(`/models/${model}`, options);\n }\n}\nexports.Models = Models;\n/**\n * Note: no pagination actually occurs yet, this is for forwards-compatibility.\n */\nclass ModelsPage extends pagination_1.Page {}\nexports.ModelsPage = ModelsPage;\n(function (Models) {})((Models = exports.Models || (exports.Models = {})));\n//# sourceMappingURL=models.js.map\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ChatLayout',{attrs:{\"title\":\"Asistente resultados evaluación\",\"waitingMessage\":_vm.waitingMessage,\"historyMessages\":_vm.historyMessages},on:{\"keyup\":_vm.handleInput},model:{value:(_vm.userMessage),callback:function ($$v) {_vm.userMessage=$$v},expression:\"userMessage\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {OpenAI} from 'openai'\r\nimport {openIAKey} from './constKeys'\r\n\r\nconst configuration = {\r\n apiKey: openIAKey,\r\n dangerouslyAllowBrowser: true\r\n}\r\nexport const openai = new OpenAI(configuration)\r\n\r\n","\r\nimport { openai } from './useOpenAI.js'\r\n\r\nexport const chatOneShot = async (messages) => {\r\n return await openai.chat.completions.create({\r\n messages,\r\n model: 'gpt-3.5-turbo',\r\n })\r\n}","export const promptFocusedAnalysis = `Por favor dame un análisis en forma de informe en relación a la pregunta suministrada y a la respuesta implícita en el formato de JSON.\r\nEs necesario indicar toda la información relevante y útil para el usuario final, no puedes dejar abierto una lista generalizando el resultado.\r\nDame solo el contenido del informe, sin ninguna otra información adicional.\r\nDame la información en formato HTML de este modo puedo visualizarlo en mi navegador.\r\nEl padre mayor del HTML debe ser un article.\r\nSi existe un titulo este se representa en un strong y el contenido en un p.\r\nsi tienes que devolver una lista mejor regresa una tabla.\r\nno seas breve, se detallado en la información.\r\nEs posible que existe una respuesta vacía y es correcto ya que no se encontraron registros en la base de datos.`\r\n\r\nexport const promptDBResultadosEvaluacion = `REFINED: Please draft a SQL query in SQLServer using the ConsultaResultadosEvaluacionesV2 table to answer user questions. The query must ensure that the result does not exceed 200 rows. Only SQL queries are allowed as a response, without any additional information. If this rule cannot be met, respond with \"Error: No SQL query\".\r\n\r\nThe ConsultaResultadosEvaluacionesV2 table includes the following fields:\r\n\r\ndetalle_id\r\npregunta_detalle_id\r\nnombre_empresa\r\nciclo_evaluacion_descripcion\r\nEvaluadorId\r\nevaluador\r\nNombreEvaluador\r\nEvaluadoId\r\nevaluado : nombre personas, personas, evaluado, trabajador, colaborador\r\nNombreEvaluado\r\nRolEvaluacion\r\nTitulo : competencia, habilidad, conducta\r\npregunta_descripcion : pregunta, conducta asociada, habilidad asociada\r\nValoracion : puntaje, calificacion, rating\r\nmovimiento_descripcion : escala, baremos\r\nEmpresaId\r\nFechaTerminado\r\nSucursalId\r\nsucursal\r\nDepartamentoId\r\ndepartamento\r\nAreaId\r\narea\r\nCargoId\r\ncargo\r\nTipoCargoId\r\nTipoCargo\r\nPlease use this information to create SQL queries that respond to user questions.\r\n\r\nFor example, if you want to know the average rating (Valoracion) given by evaluators in a particular evaluation cycle, you might use a query like:\r\n\r\nSELECT TOP 200 ciclo_evaluacion_descripcion, AVG(Valoracion) AS PromedioValoracion\r\nFROM ConsultaResultadosEvaluacionesV2\r\nGROUP BY ciclo_evaluacion_descripcion;\r\n\r\nREFINED: Could you please provide a revised prompt that clearly states the desired outcome and specifies the exact query that should be returned?\r\n\r\n\"I have not been successful as it returns the following message: 'To find the best evaluation results, you can use the following query: SELECT NombreEvaluado, MAX(Valoracion) AS MaximumRating FROM ConsultaResultadosEvaluacionesV2 GROUP BY NombreEvaluado ORDER BY MaximumRating DESC; This will show you the names of the evaluated individuals along with their highest rating, sorted from highest to lowest.' I only want it to return: 'SELECT NombreEvaluado, MAX(Valoracion) AS MaximumRating FROM ConsultaResultadosEvaluacionesV2 GROUP BY NombreEvaluado ORDER BY MaximumRating DESC;'\"\r\n\r\nANSWER: To directly address your request, if you are seeking to obtain just the SQL query without any additional explanation or context, here it is in its concise form:\r\n\r\nSELECT NombreEvaluado, MAX(Valoracion) AS MaximumRating FROM ConsultaResultadosEvaluacionesV2 GROUP BY NombreEvaluado ORDER BY MaximumRating DESC;\r\n\r\nThis SQL query is designed to display the names of the evaluated individuals (NombreEvaluado) alongside their highest rating (MAX(Valoracion) as MaximumRating), grouped by the evaluated individual's name and sorted from the highest rating to the lowest.\r\n\r\nVerbos que lleven a una accion los entenderás como una consulta: tales como tráeme, muéstrame, dame una lista, etc.\r\n\r\nDespués de los dos puntos encentras otra forma en la que el usuario se refiere al nombre de columna\r\n\r\nla valoración es la forma de calificar\r\n\r\n[\r\n se te puede pasar el nombre de una persona e implícitamente se refiere a la columna nombre de evaluado\r\n ejemplo: \r\n user: 'trame las competencias de VIVIAN XIOMARA PEÑA PINILLA'\r\n assistant: 'select top (100) Titulo as competencia from ConsultaResultadosEvaluacionesV2 where NombreEvaluado like '% VIVIAN XIOMARA PEÑA PINILLA%''\r\n\r\n]\r\n\r\n\r\n\r\n`","\r\nexport const createAnalytics = async (message, chatCompletion, ChatAssistantAIId) => {\r\n const TK = localStorage.getItem('tk')\r\n const persona = JSON.parse(localStorage.getItem(\"setPersonaAct\"))\r\n \r\n let headersList = {\r\n \"Accept\": \"*/*\",\r\n \"Authorization\": `Bearer ${TK}`,\r\n \"Content-Type\": \"application/json\"\r\n }\r\n\r\n let bodyContent = JSON.stringify({\r\n \"ChatAssistantAIId\": ChatAssistantAIId,\r\n \"PersonaId\": persona.id,\r\n \"EmpresaIdByPersona\": persona.empresa.id,\r\n \"UserMessage\": message.content,\r\n \"AssistantMessage\": chatCompletion.choices[0].message.content,\r\n \"TokenPrompt\": chatCompletion.usage.prompt_tokens,\r\n \"TokenResponse\": chatCompletion.usage.completion_tokens,\r\n });\r\n\r\n let response = await fetch(\"http://127.0.0.1:44388/api/ChatAssistantAI/createReportAssistantAI\", {\r\n method: \"POST\",\r\n body: bodyContent,\r\n headers: headersList\r\n });\r\n\r\n let data = await response.text();\r\n console.log(data);\r\n\r\n}\r\n\r\n\r\n\r\n","import { chatOneShot } from './useChatAI'\r\nimport { promptDBResultadosEvaluacion, promptFocusedAnalysis } from './systemPrompt'\r\nimport { createAnalytics } from './useChatAnalytics'\r\n// max tokens: 16385. Se debe tener en cuenta este error.\r\nconst cleanString = (string) => string.replace(/(\\r\\n|\\n|\\r)/gm, \" \")\r\n\r\nexport const chatGetQuery = async (userMessage) => {\r\n const chatCompletion = await chatOneShot([\r\n { role: 'system', content: promptDBResultadosEvaluacion },\r\n userMessage\r\n ])\r\n\r\n createAnalytics(userMessage, chatCompletion, 'chatGetQueryResultadosEvaluacion')\r\n\r\n const resultGPT = chatCompletion.choices[0].message\r\n if( resultGPT.content.includes('Error') ) {\r\n throw new Error(resultGPT.content)\r\n } else {\r\n return cleanString(resultGPT.content)\r\n }\r\n}\r\n\r\n\r\nexport const chatGetAnalysis = async (userMessage) => {\r\n const chatCompletion = await chatOneShot([\r\n { role: 'system', content: promptFocusedAnalysis},\r\n userMessage\r\n ])\r\n console.log('chatCompletion', chatCompletion);\r\n\r\n createAnalytics(userMessage, chatCompletion, 'chatGetAnalysisResultadosEvaluacion')\r\n return chatCompletion.choices[0].message.content\r\n}","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatResultadosEvaluacion.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatResultadosEvaluacion.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChatResultadosEvaluacion.vue?vue&type=template&id=47ba5410&scoped=true\"\nimport script from \"./ChatResultadosEvaluacion.vue?vue&type=script&lang=js\"\nexport * from \"./ChatResultadosEvaluacion.vue?vue&type=script&lang=js\"\nimport style0 from \"./ChatResultadosEvaluacion.vue?vue&type=style&index=0&id=47ba5410&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"47ba5410\",\n null\n \n)\n\nexport default component.exports","// File generated from our OpenAPI spec by Stainless.\nexport class APIResource {\n constructor(client) {\n this.client = client;\n this.get = client.get.bind(client);\n this.post = client.post.bind(client);\n this.patch = client.patch.bind(client);\n this.put = client.put.bind(client);\n this.delete = client.delete.bind(client);\n this.getAPIList = client.getAPIList.bind(client);\n }\n}\n//# sourceMappingURL=resource.mjs.map\n","export class Stream {\n constructor(response, controller) {\n this.response = response;\n this.controller = controller;\n this.decoder = new SSEDecoder();\n }\n async *iterMessages() {\n if (!this.response.body) {\n this.controller.abort();\n throw new Error(`Attempted to iterate over a response with no body`);\n }\n const lineDecoder = new LineDecoder();\n const iter = readableStreamAsyncIterable(this.response.body);\n for await (const chunk of iter) {\n for (const line of lineDecoder.decode(chunk)) {\n const sse = this.decoder.decode(line);\n if (sse) yield sse;\n }\n }\n for (const line of lineDecoder.flush()) {\n const sse = this.decoder.decode(line);\n if (sse) yield sse;\n }\n }\n async *[Symbol.asyncIterator]() {\n let done = false;\n try {\n for await (const sse of this.iterMessages()) {\n if (done) continue;\n if (sse.data.startsWith('[DONE]')) {\n done = true;\n continue;\n }\n if (sse.event === null) {\n try {\n yield JSON.parse(sse.data);\n } catch (e) {\n console.error(`Could not parse message into JSON:`, sse.data);\n console.error(`From chunk:`, sse.raw);\n throw e;\n }\n }\n }\n done = true;\n } catch (e) {\n // If the user calls `stream.controller.abort()`, we should exit without throwing.\n if (e instanceof Error && e.name === 'AbortError') return;\n throw e;\n } finally {\n // If the user `break`s, abort the ongoing request.\n if (!done) this.controller.abort();\n }\n }\n}\nclass SSEDecoder {\n constructor() {\n this.event = null;\n this.data = [];\n this.chunks = [];\n }\n decode(line) {\n if (line.endsWith('\\r')) {\n line = line.substring(0, line.length - 1);\n }\n if (!line) {\n // empty line and we didn't previously encounter any messages\n if (!this.event && !this.data.length) return null;\n const sse = {\n event: this.event,\n data: this.data.join('\\n'),\n raw: this.chunks,\n };\n this.event = null;\n this.data = [];\n this.chunks = [];\n return sse;\n }\n this.chunks.push(line);\n if (line.startsWith(':')) {\n return null;\n }\n let [fieldname, _, value] = partition(line, ':');\n if (value.startsWith(' ')) {\n value = value.substring(1);\n }\n if (fieldname === 'event') {\n this.event = value;\n } else if (fieldname === 'data') {\n this.data.push(value);\n }\n return null;\n }\n}\n/**\n * A re-implementation of httpx's `LineDecoder` in Python that handles incrementally\n * reading lines from text.\n *\n * https://github.com/encode/httpx/blob/920333ea98118e9cf617f246905d7b202510941c/httpx/_decoders.py#L258\n */\nclass LineDecoder {\n constructor() {\n this.buffer = [];\n this.trailingCR = false;\n }\n decode(chunk) {\n let text = this.decodeText(chunk);\n if (this.trailingCR) {\n text = '\\r' + text;\n this.trailingCR = false;\n }\n if (text.endsWith('\\r')) {\n this.trailingCR = true;\n text = text.slice(0, -1);\n }\n if (!text) {\n return [];\n }\n const trailingNewline = LineDecoder.NEWLINE_CHARS.has(text[text.length - 1] || '');\n let lines = text.split(LineDecoder.NEWLINE_REGEXP);\n if (lines.length === 1 && !trailingNewline) {\n this.buffer.push(lines[0]);\n return [];\n }\n if (this.buffer.length > 0) {\n lines = [this.buffer.join('') + lines[0], ...lines.slice(1)];\n this.buffer = [];\n }\n if (!trailingNewline) {\n this.buffer = [lines.pop() || ''];\n }\n return lines;\n }\n decodeText(bytes) {\n var _a;\n if (bytes == null) return '';\n if (typeof bytes === 'string') return bytes;\n // Node:\n if (typeof Buffer !== 'undefined') {\n if (bytes instanceof Buffer) {\n return bytes.toString();\n }\n if (bytes instanceof Uint8Array) {\n return Buffer.from(bytes).toString();\n }\n throw new Error(\n `Unexpected: received non-Uint8Array (${bytes.constructor.name}) stream chunk in an environment with a global \"Buffer\" defined, which this library assumes to be Node. Please report this error.`,\n );\n }\n // Browser\n if (typeof TextDecoder !== 'undefined') {\n if (bytes instanceof Uint8Array || bytes instanceof ArrayBuffer) {\n (_a = this.textDecoder) !== null && _a !== void 0 ? _a : (this.textDecoder = new TextDecoder('utf8'));\n return this.textDecoder.decode(bytes);\n }\n throw new Error(\n `Unexpected: received non-Uint8Array/ArrayBuffer (${bytes.constructor.name}) in a web platform. Please report this error.`,\n );\n }\n throw new Error(\n `Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.`,\n );\n }\n flush() {\n if (!this.buffer.length && !this.trailingCR) {\n return [];\n }\n const lines = [this.buffer.join('')];\n this.buffer = [];\n this.trailingCR = false;\n return lines;\n }\n}\n// prettier-ignore\nLineDecoder.NEWLINE_CHARS = new Set(['\\n', '\\r', '\\x0b', '\\x0c', '\\x1c', '\\x1d', '\\x1e', '\\x85', '\\u2028', '\\u2029']);\nLineDecoder.NEWLINE_REGEXP = /\\r\\n|[\\n\\r\\x0b\\x0c\\x1c\\x1d\\x1e\\x85\\u2028\\u2029]/g;\nfunction partition(str, delimiter) {\n const index = str.indexOf(delimiter);\n if (index !== -1) {\n return [str.substring(0, index), delimiter, str.substring(index + delimiter.length)];\n }\n return [str, '', ''];\n}\n/**\n * Most browsers don't yet have async iterable support for ReadableStream,\n * and Node has a very different way of reading bytes from its \"ReadableStream\".\n *\n * This polyfill was pulled from https://github.com/MattiasBuelens/web-streams-polyfill/pull/122#issuecomment-1627354490\n */\nfunction readableStreamAsyncIterable(stream) {\n if (stream[Symbol.asyncIterator]) return stream;\n const reader = stream.getReader();\n return {\n async next() {\n try {\n const result = await reader.read();\n if (result === null || result === void 0 ? void 0 : result.done) reader.releaseLock(); // release lock when stream becomes closed\n return result;\n } catch (e) {\n reader.releaseLock(); // release lock when stream becomes errored\n throw e;\n }\n },\n async return() {\n const cancelPromise = reader.cancel();\n reader.releaseLock();\n await cancelPromise;\n return { done: true, value: undefined };\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n };\n}\n//# sourceMappingURL=streaming.mjs.map\n","import { FormData, File } from 'openai/_shims/formdata';\nimport { getMultipartRequestOptions } from 'openai/_shims/getMultipartRequestOptions';\nimport { fileFromPath } from 'openai/_shims/fileFromPath';\nimport { isFsReadStream } from 'openai/_shims/node-readable';\nexport { fileFromPath };\nexport const isResponseLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\nexport const isFileLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n isBlobLike(value);\n/**\n * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check\n * adds the arrayBuffer() method type because it is available and used at runtime\n */\nexport const isBlobLike = (value) =>\n value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\nexport const isUploadable = (value) => {\n return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);\n};\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nexport async function toFile(value, name, options = {}) {\n var _a, _b, _c;\n // If it's a promise, resolve it.\n value = await value;\n if (isResponseLike(value)) {\n const blob = await value.blob();\n name ||\n (name =\n (_a = new URL(value.url).pathname.split(/[\\\\/]/).pop()) !== null && _a !== void 0 ?\n _a\n : 'unknown_file');\n return new File([blob], name, options);\n }\n const bits = await getBytes(value);\n name || (name = (_b = getName(value)) !== null && _b !== void 0 ? _b : 'unknown_file');\n if (!options.type) {\n const type = (_c = bits[0]) === null || _c === void 0 ? void 0 : _c.type;\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return new File(bits, name, options);\n}\nasync function getBytes(value) {\n var _a;\n let parts = [];\n if (\n typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer\n ) {\n parts.push(value);\n } else if (isBlobLike(value)) {\n parts.push(await value.arrayBuffer());\n } else if (\n isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(chunk); // TODO, consider validating?\n }\n } else {\n throw new Error(\n `Unexpected data type: ${typeof value}; constructor: ${\n (_a = value === null || value === void 0 ? void 0 : value.constructor) === null || _a === void 0 ?\n void 0\n : _a.name\n }; props: ${propsForError(value)}`,\n );\n }\n return parts;\n}\nfunction propsForError(value) {\n const props = Object.getOwnPropertyNames(value);\n return `[${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\nfunction getName(value) {\n var _a;\n return (\n getStringFromMaybeBuffer(value.name) ||\n getStringFromMaybeBuffer(value.filename) ||\n // For fs.ReadStream\n ((_a = getStringFromMaybeBuffer(value.path)) === null || _a === void 0 ? void 0 : _a.split(/[\\\\/]/).pop())\n );\n}\nconst getStringFromMaybeBuffer = (x) => {\n if (typeof x === 'string') return x;\n if (typeof Buffer !== 'undefined' && x instanceof Buffer) return String(x);\n return undefined;\n};\nconst isAsyncIterableIterator = (value) =>\n value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\nexport class MultipartBody {\n constructor(body) {\n this.body = body;\n }\n get [Symbol.toStringTag]() {\n return 'MultipartBody';\n }\n}\nexport const isMultipartBody = (body) =>\n body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nexport const maybeMultipartFormRequestOptions = async (opts) => {\n if (!hasUploadableValue(opts.body)) return opts;\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const multipartFormRequestOptions = async (opts) => {\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const createForm = async (body) => {\n const form = new FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));\n return form;\n};\nconst hasUploadableValue = (value) => {\n if (isUploadable(value)) return true;\n if (Array.isArray(value)) return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k])) return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value) => {\n if (value === undefined) return;\n if (value == null) {\n throw new TypeError(\n `Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`,\n );\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n } else if (isUploadable(value)) {\n const file = await toFile(value);\n form.append(key, file);\n } else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));\n } else if (typeof value === 'object') {\n await Promise.all(\n Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)),\n );\n } else {\n throw new TypeError(\n `Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`,\n );\n }\n};\n//# sourceMappingURL=uploads.mjs.map\n","// File generated from our OpenAPI spec by Stainless.\nimport { AbstractPage } from './core.mjs';\n/**\n * Note: no pagination actually occurs yet, this is for forwards-compatibility.\n */\nexport class Page extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.object = body.object;\n this.data = body.data;\n }\n getPaginatedItems() {\n return this.data;\n }\n // @deprecated Please use `nextPageInfo()` instead\n /**\n * This page represents a response that isn't actually paginated at the API level\n * so there will never be any next page params.\n */\n nextPageParams() {\n return null;\n }\n nextPageInfo() {\n return null;\n }\n}\n//# sourceMappingURL=pagination.mjs.map\n","// File generated from our OpenAPI spec by Stainless.\nimport { castToError } from './core.mjs';\nexport class APIError extends Error {\n constructor(status, error, message, headers) {\n super(APIError.makeMessage(error, message));\n this.status = status;\n this.headers = headers;\n const data = error;\n this.error = data;\n this.code = data === null || data === void 0 ? void 0 : data['code'];\n this.param = data === null || data === void 0 ? void 0 : data['param'];\n this.type = data === null || data === void 0 ? void 0 : data['type'];\n }\n static makeMessage(error, message) {\n return (\n (\n error === null || error === void 0 ? void 0 : error.message\n ) ?\n typeof error.message === 'string' ? error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message || 'Unknown error occurred'\n );\n }\n static generate(status, errorResponse, message, headers) {\n if (!status) {\n return new APIConnectionError({ cause: castToError(errorResponse) });\n }\n const error = errorResponse === null || errorResponse === void 0 ? void 0 : errorResponse['error'];\n if (status === 400) {\n return new BadRequestError(status, error, message, headers);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers);\n }\n return new APIError(status, error, message, headers);\n }\n}\nexport class APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n this.status = undefined;\n }\n}\nexport class APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n this.status = undefined;\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause) this.cause = cause;\n }\n}\nexport class APIConnectionTimeoutError extends APIConnectionError {\n constructor() {\n super({ message: 'Request timed out.' });\n }\n}\nexport class BadRequestError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 400;\n }\n}\nexport class AuthenticationError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 401;\n }\n}\nexport class PermissionDeniedError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 403;\n }\n}\nexport class NotFoundError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 404;\n }\n}\nexport class ConflictError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 409;\n }\n}\nexport class UnprocessableEntityError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 422;\n }\n}\nexport class RateLimitError extends APIError {\n constructor() {\n super(...arguments);\n this.status = 429;\n }\n}\nexport class InternalServerError extends APIError {}\n//# sourceMappingURL=error.mjs.map\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ChatLayout.vue?vue&type=style&index=0&id=6d56cc3b&prod&scoped=true&lang=css\"","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.FineTunesPage = exports.FineTunes = void 0;\nconst resource_1 = require('openai/resource');\nconst pagination_1 = require('openai/pagination');\nclass FineTunes extends resource_1.APIResource {\n /**\n * Creates a job that fine-tunes a specified model from a given dataset.\n *\n * Response includes details of the enqueued job including job status and the name\n * of the fine-tuned models once complete.\n *\n * [Learn more about Fine-tuning](/docs/guides/fine-tuning)\n */\n create(body, options) {\n return this.post('/fine-tunes', { body, ...options });\n }\n /**\n * Gets info about the fine-tune job.\n *\n * [Learn more about Fine-tuning](/docs/guides/fine-tuning)\n */\n retrieve(fineTuneId, options) {\n return this.get(`/fine-tunes/${fineTuneId}`, options);\n }\n /**\n * List your organization's fine-tuning jobs\n */\n list(options) {\n return this.getAPIList('/fine-tunes', FineTunesPage, options);\n }\n /**\n * Immediately cancel a fine-tune job.\n */\n cancel(fineTuneId, options) {\n return this.post(`/fine-tunes/${fineTuneId}/cancel`, options);\n }\n listEvents(fineTuneId, query, options) {\n var _a;\n return this.get(`/fine-tunes/${fineTuneId}/events`, {\n query,\n timeout: 86400000,\n ...options,\n stream:\n (_a = query === null || query === void 0 ? void 0 : query.stream) !== null && _a !== void 0 ?\n _a\n : false,\n });\n }\n}\nexports.FineTunes = FineTunes;\n/**\n * Note: no pagination actually occurs yet, this is for forwards-compatibility.\n */\nclass FineTunesPage extends pagination_1.Page {}\nexports.FineTunesPage = FineTunesPage;\n(function (FineTunes) {})((FineTunes = exports.FineTunes || (exports.FineTunes = {})));\n//# sourceMappingURL=fine-tunes.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Completions = exports.Chat = void 0;\nvar chat_1 = require('./chat.js');\nObject.defineProperty(exports, 'Chat', {\n enumerable: true,\n get: function () {\n return chat_1.Chat;\n },\n});\nvar completions_1 = require('./completions.js');\nObject.defineProperty(exports, 'Completions', {\n enumerable: true,\n get: function () {\n return completions_1.Completions;\n },\n});\n//# sourceMappingURL=index.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nvar __createBinding =\n (this && this.__createBinding) ||\n (Object.create ?\n function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || ('get' in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = {\n enumerable: true,\n get: function () {\n return m[k];\n },\n };\n }\n Object.defineProperty(o, k2, desc);\n }\n : function (o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n });\nvar __setModuleDefault =\n (this && this.__setModuleDefault) ||\n (Object.create ?\n function (o, v) {\n Object.defineProperty(o, 'default', { enumerable: true, value: v });\n }\n : function (o, v) {\n o['default'] = v;\n });\nvar __importStar =\n (this && this.__importStar) ||\n function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== 'default' && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n };\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Audio = void 0;\nconst resource_1 = require('openai/resource');\nconst transcriptions_1 = require('./transcriptions.js');\nconst translations_1 = require('./translations.js');\nconst API = __importStar(require('./index.js'));\nclass Audio extends resource_1.APIResource {\n constructor() {\n super(...arguments);\n this.transcriptions = new transcriptions_1.Transcriptions(this.client);\n this.translations = new translations_1.Translations(this.client);\n }\n}\nexports.Audio = Audio;\n(function (Audio) {\n Audio.Transcriptions = API.Transcriptions;\n Audio.Translations = API.Translations;\n})((Audio = exports.Audio || (exports.Audio = {})));\n//# sourceMappingURL=audio.js.map\n","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\n\n// If we accidentally call fetch with the wrong this binding,\n// in the browser it would throw:\n// TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation\nconst _fetch = fetch.bind(undefined);\nconst _Request = Request;\nconst _Response = Response;\nconst _Headers = Headers;\n\nexport const isPolyfilled = false;\n\nexport { _fetch as fetch, _Request as Request, _Response as Response, _Headers as Headers };\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Moderations =\n exports.Models =\n exports.ModelsPage =\n exports.Images =\n exports.FineTunes =\n exports.FineTunesPage =\n exports.Files =\n exports.FileObjectsPage =\n exports.Edits =\n exports.Embeddings =\n exports.Completions =\n exports.Chat =\n exports.Audio =\n void 0;\nvar audio_1 = require('./audio/audio.js');\nObject.defineProperty(exports, 'Audio', {\n enumerable: true,\n get: function () {\n return audio_1.Audio;\n },\n});\nvar chat_1 = require('./chat/chat.js');\nObject.defineProperty(exports, 'Chat', {\n enumerable: true,\n get: function () {\n return chat_1.Chat;\n },\n});\nvar completions_1 = require('./completions.js');\nObject.defineProperty(exports, 'Completions', {\n enumerable: true,\n get: function () {\n return completions_1.Completions;\n },\n});\nvar embeddings_1 = require('./embeddings.js');\nObject.defineProperty(exports, 'Embeddings', {\n enumerable: true,\n get: function () {\n return embeddings_1.Embeddings;\n },\n});\nvar edits_1 = require('./edits.js');\nObject.defineProperty(exports, 'Edits', {\n enumerable: true,\n get: function () {\n return edits_1.Edits;\n },\n});\nvar files_1 = require('./files.js');\nObject.defineProperty(exports, 'FileObjectsPage', {\n enumerable: true,\n get: function () {\n return files_1.FileObjectsPage;\n },\n});\nObject.defineProperty(exports, 'Files', {\n enumerable: true,\n get: function () {\n return files_1.Files;\n },\n});\nvar fine_tunes_1 = require('./fine-tunes.js');\nObject.defineProperty(exports, 'FineTunesPage', {\n enumerable: true,\n get: function () {\n return fine_tunes_1.FineTunesPage;\n },\n});\nObject.defineProperty(exports, 'FineTunes', {\n enumerable: true,\n get: function () {\n return fine_tunes_1.FineTunes;\n },\n});\nvar images_1 = require('./images.js');\nObject.defineProperty(exports, 'Images', {\n enumerable: true,\n get: function () {\n return images_1.Images;\n },\n});\nvar models_1 = require('./models.js');\nObject.defineProperty(exports, 'ModelsPage', {\n enumerable: true,\n get: function () {\n return models_1.ModelsPage;\n },\n});\nObject.defineProperty(exports, 'Models', {\n enumerable: true,\n get: function () {\n return models_1.Models;\n },\n});\nvar moderations_1 = require('./moderations.js');\nObject.defineProperty(exports, 'Moderations', {\n enumerable: true,\n get: function () {\n return moderations_1.Moderations;\n },\n});\n//# sourceMappingURL=index.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Completions = void 0;\nconst resource_1 = require('openai/resource');\nclass Completions extends resource_1.APIResource {\n create(body, options) {\n var _a;\n return this.post('/completions', {\n body,\n ...options,\n stream: (_a = body.stream) !== null && _a !== void 0 ? _a : false,\n });\n }\n}\nexports.Completions = Completions;\n(function (Completions) {})((Completions = exports.Completions || (exports.Completions = {})));\n//# sourceMappingURL=completions.js.map\n","'use strict';\n// File generated from our OpenAPI spec by Stainless.\nObject.defineProperty(exports, '__esModule', { value: true });\nexports.Page = void 0;\nconst core_1 = require('./core.js');\n/**\n * Note: no pagination actually occurs yet, this is for forwards-compatibility.\n */\nclass Page extends core_1.AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.object = body.object;\n this.data = body.data;\n }\n getPaginatedItems() {\n return this.data;\n }\n // @deprecated Please use `nextPageInfo()` instead\n /**\n * This page represents a response that isn't actually paginated at the API level\n * so there will never be any next page params.\n */\n nextPageParams() {\n return null;\n }\n nextPageInfo() {\n return null;\n }\n}\nexports.Page = Page;\n//# sourceMappingURL=pagination.js.map\n"],"sourceRoot":""}