Files
finanzas/dist/server/app/api/test/ai/route.js
2026-01-28 23:15:44 -03:00

66 lines
20 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(() => {
var exports = {};
exports.id = "app/api/test/ai/route";
exports.ids = ["app/api/test/ai/route"];
exports.modules = {
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
/*!*************************************************************************!*\
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
\*************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
/***/ }),
/***/ "next/dist/compiled/next-server/app-route.runtime.dev.js":
/*!**************************************************************************!*\
!*** external "next/dist/compiled/next-server/app-route.runtime.dev.js" ***!
\**************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/compiled/next-server/app-route.runtime.dev.js");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Ftest%2Fai%2Froute&page=%2Fapi%2Ftest%2Fai%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Ftest%2Fai%2Froute.ts&appDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=export&preferredRegion=&middlewareConfig=e30%3D!":
/*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Ftest%2Fai%2Froute&page=%2Fapi%2Ftest%2Fai%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Ftest%2Fai%2Froute.ts&appDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=export&preferredRegion=&middlewareConfig=e30%3D! ***!
\***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ patchFetch: () => (/* binding */ patchFetch),\n/* harmony export */ requestAsyncStorage: () => (/* binding */ requestAsyncStorage),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ serverHooks: () => (/* binding */ serverHooks),\n/* harmony export */ staticGenerationAsyncStorage: () => (/* binding */ staticGenerationAsyncStorage)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-route/module.compiled */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var C_Users_Administrator_Documents_cuentas_finanzas_app_api_test_ai_route_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app/api/test/ai/route.ts */ \"(rsc)/./app/api/test/ai/route.ts\");\n\n\n\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"export\"\nconst routeModule = new next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,\n page: \"/api/test/ai/route\",\n pathname: \"/api/test/ai\",\n filename: \"route\",\n bundlePath: \"app/api/test/ai/route\"\n },\n resolvedPagePath: \"C:\\\\Users\\\\Administrator\\\\Documents\\\\cuentas\\\\finanzas\\\\app\\\\api\\\\test\\\\ai\\\\route.ts\",\n nextConfigOutput,\n userland: C_Users_Administrator_Documents_cuentas_finanzas_app_api_test_ai_route_ts__WEBPACK_IMPORTED_MODULE_3__\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { requestAsyncStorage, staticGenerationAsyncStorage, serverHooks } = routeModule;\nconst originalPathname = \"/api/test/ai/route\";\nfunction patchFetch() {\n return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({\n serverHooks,\n staticGenerationAsyncStorage\n });\n}\n\n\n//# sourceMappingURL=app-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZhcGklMkZ0ZXN0JTJGYWklMkZyb3V0ZSZwYWdlPSUyRmFwaSUyRnRlc3QlMkZhaSUyRnJvdXRlJmFwcFBhdGhzPSZwYWdlUGF0aD1wcml2YXRlLW5leHQtYXBwLWRpciUyRmFwaSUyRnRlc3QlMkZhaSUyRnJvdXRlLnRzJmFwcERpcj1DJTNBJTVDVXNlcnMlNUNBZG1pbmlzdHJhdG9yJTVDRG9jdW1lbnRzJTVDY3VlbnRhcyU1Q2ZpbmFuemFzJTVDYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj1DJTNBJTVDVXNlcnMlNUNBZG1pbmlzdHJhdG9yJTVDRG9jdW1lbnRzJTVDY3VlbnRhcyU1Q2ZpbmFuemFzJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PWV4cG9ydCZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBc0c7QUFDdkM7QUFDYztBQUNvQztBQUNqSDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0hBQW1CO0FBQzNDO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWTtBQUNaLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxRQUFRLGlFQUFpRTtBQUN6RTtBQUNBO0FBQ0EsV0FBVyw0RUFBVztBQUN0QjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ3VIOztBQUV2SCIsInNvdXJjZXMiOlsid2VicGFjazovL2ZpbmFuemFzLz9iNGFhIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcFJvdXRlUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuaW1wb3J0IHsgcGF0Y2hGZXRjaCBhcyBfcGF0Y2hGZXRjaCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2xpYi9wYXRjaC1mZXRjaFwiO1xuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcIkM6XFxcXFVzZXJzXFxcXEFkbWluaXN0cmF0b3JcXFxcRG9jdW1lbnRzXFxcXGN1ZW50YXNcXFxcZmluYW56YXNcXFxcYXBwXFxcXGFwaVxcXFx0ZXN0XFxcXGFpXFxcXHJvdXRlLnRzXCI7XG4vLyBXZSBpbmplY3QgdGhlIG5leHRDb25maWdPdXRwdXQgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IG5leHRDb25maWdPdXRwdXQgPSBcImV4cG9ydFwiXG5jb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBSb3V0ZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUk9VVEUsXG4gICAgICAgIHBhZ2U6IFwiL2FwaS90ZXN0L2FpL3JvdXRlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hcGkvdGVzdC9haVwiLFxuICAgICAgICBmaWxlbmFtZTogXCJyb3V0ZVwiLFxuICAgICAgICBidW5kbGVQYXRoOiBcImFwcC9hcGkvdGVzdC9haS9yb3V0ZVwiXG4gICAgfSxcbiAgICByZXNvbHZlZFBhZ2VQYXRoOiBcIkM6XFxcXFVzZXJzXFxcXEFkbWluaXN0cmF0b3JcXFxcRG9jdW1lbnRzXFxcXGN1ZW50YXNcXFxcZmluYW56YXNcXFxcYXBwXFxcXGFwaVxcXFx0ZXN0XFxcXGFpXFxcXHJvdXRlLnRzXCIsXG4gICAgbmV4dENvbmZpZ091dHB1dCxcbiAgICB1c2VybGFuZFxufSk7XG4vLyBQdWxsIG91dCB0aGUgZXhwb3J0cyB0aGF0IHdlIG5lZWQgdG8gZXhwb3NlIGZyb20gdGhlIG1vZHVsZS4gVGhpcyBzaG91bGRcbi8vIGJlIGVsaW1pbmF0ZWQgd2hlbiB3ZSd2ZSBtb3ZlZCB0aGUgb3RoZXIgcm91dGVzIHRvIHRoZSBuZXcgZm9ybWF0LiBUaGVzZVxuLy8gYXJlIHVzZWQgdG8gaG9vayBpbnRvIHRoZSByb3V0ZS5cbmNvbnN0IHsgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MgfSA9IHJvdXRlTW9kdWxlO1xuY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2FwaS90ZXN0L2FpL3JvdXRlXCI7XG5mdW5jdGlvbiBwYXRjaEZldGNoKCkge1xuICAgIHJldHVybiBfcGF0Y2hGZXRjaCh7XG4gICAgICAgIHNlcnZlckhvb2tzLFxuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlXG4gICAgfSk7XG59XG5leHBvcnQgeyByb3V0ZU1vZHVsZSwgcmVxdWVzdEFzeW5jU3RvcmFnZSwgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MsIG9yaWdpbmFsUGF0aG5hbWUsIHBhdGNoRmV0Y2gsICB9O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Ftest%2Fai%2Froute&page=%2Fapi%2Ftest%2Fai%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Ftest%2Fai%2Froute.ts&appDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=export&preferredRegion=&middlewareConfig=e30%3D!\n");
/***/ }),
/***/ "(rsc)/./app/api/test/ai/route.ts":
/*!**********************************!*\
!*** ./app/api/test/ai/route.ts ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ POST: () => (/* binding */ POST)\n/* harmony export */ });\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/server */ \"(rsc)/./node_modules/next/dist/api/server.js\");\n\nasync function POST(request) {\n try {\n const { endpoint, token, model } = await request.json();\n if (!endpoint || !token) {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n success: false,\n error: \"Faltan credenciales (Endpoint o Token)\"\n }, {\n status: 400\n });\n }\n // Prepare target URL\n let targetUrl = endpoint;\n if (!targetUrl.endsWith(\"/messages\") && !targetUrl.endsWith(\"/chat/completions\")) {\n targetUrl = targetUrl.endsWith(\"/\") ? `${targetUrl}v1/messages` : `${targetUrl}/v1/messages`;\n }\n const start = Date.now();\n // Payload for Anthropic /v1/messages\n const body = {\n model: model || \"gpt-3.5-turbo\",\n messages: [\n {\n role: \"user\",\n content: \"Ping\"\n }\n ],\n max_tokens: 10\n };\n const response = await fetch(targetUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-api-key\": token,\n \"anthropic-version\": \"2023-06-01\",\n \"Authorization\": `Bearer ${token}`\n },\n body: JSON.stringify(body)\n });\n const duration = Date.now() - start;\n if (!response.ok) {\n const text = await response.text();\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n success: false,\n error: `Error ${response.status}: ${text.slice(0, 100)}`\n }, {\n status: response.status\n });\n }\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n success: true,\n latency: duration\n });\n } catch (error) {\n console.error(\"AI Test Error:\", error);\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n success: false,\n error: error.message || \"Error de conexi\\xf3n\"\n }, {\n status: 500\n });\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvYXBpL3Rlc3QvYWkvcm91dGUudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMEM7QUFFbkMsZUFBZUMsS0FBS0MsT0FBZ0I7SUFDdkMsSUFBSTtRQUNBLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRSxHQUFHLE1BQU1ILFFBQVFJLElBQUk7UUFFckQsSUFBSSxDQUFDSCxZQUFZLENBQUNDLE9BQU87WUFDckIsT0FBT0oscURBQVlBLENBQUNNLElBQUksQ0FDcEI7Z0JBQUVDLFNBQVM7Z0JBQU9DLE9BQU87WUFBeUMsR0FDbEU7Z0JBQUVDLFFBQVE7WUFBSTtRQUV0QjtRQUVBLHFCQUFxQjtRQUNyQixJQUFJQyxZQUFZUDtRQUNoQixJQUFJLENBQUNPLFVBQVVDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQ0QsVUFBVUMsUUFBUSxDQUFDLHNCQUFzQjtZQUM5RUQsWUFBWUEsVUFBVUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFRCxVQUFVLFdBQVcsQ0FBQyxHQUFHLENBQUMsRUFBRUEsVUFBVSxZQUFZLENBQUM7UUFDaEc7UUFFQSxNQUFNRSxRQUFRQyxLQUFLQyxHQUFHO1FBRXRCLHFDQUFxQztRQUNyQyxNQUFNQyxPQUFPO1lBQ1RWLE9BQU9BLFNBQVM7WUFDaEJXLFVBQVU7Z0JBQUM7b0JBQUVDLE1BQU07b0JBQVFDLFNBQVM7Z0JBQU87YUFBRTtZQUM3Q0MsWUFBWTtRQUNoQjtRQUVBLE1BQU1DLFdBQVcsTUFBTUMsTUFBTVgsV0FBVztZQUNwQ1ksUUFBUTtZQUNSQyxTQUFTO2dCQUNMLGdCQUFnQjtnQkFDaEIsYUFBYW5CO2dCQUNiLHFCQUFxQjtnQkFDckIsaUJBQWlCLENBQUMsT0FBTyxFQUFFQSxNQUFNLENBQUM7WUFDdEM7WUFDQVcsTUFBTVMsS0FBS0MsU0FBUyxDQUFDVjtRQUN6QjtRQUVBLE1BQU1XLFdBQVdiLEtBQUtDLEdBQUcsS0FBS0Y7UUFFOUIsSUFBSSxDQUFDUSxTQUFTTyxFQUFFLEVBQUU7WUFDZCxNQUFNQyxPQUFPLE1BQU1SLFNBQVNRLElBQUk7WUFDaEMsT0FBTzVCLHFEQUFZQSxDQUFDTSxJQUFJLENBQ3BCO2dCQUFFQyxTQUFTO2dCQUFPQyxPQUFPLENBQUMsTUFBTSxFQUFFWSxTQUFTWCxNQUFNLENBQUMsRUFBRSxFQUFFbUIsS0FBS0MsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQUMsR0FDM0U7Z0JBQUVwQixRQUFRVyxTQUFTWCxNQUFNO1lBQUM7UUFFbEM7UUFFQSxPQUFPVCxxREFBWUEsQ0FBQ00sSUFBSSxDQUFDO1lBQUVDLFNBQVM7WUFBTXVCLFNBQVNKO1FBQVM7SUFFaEUsRUFBRSxPQUFPbEIsT0FBWTtRQUNqQnVCLFFBQVF2QixLQUFLLENBQUMsa0JBQWtCQTtRQUNoQyxPQUFPUixxREFBWUEsQ0FBQ00sSUFBSSxDQUNwQjtZQUFFQyxTQUFTO1lBQU9DLE9BQU9BLE1BQU13QixPQUFPLElBQUk7UUFBb0IsR0FDOUQ7WUFBRXZCLFFBQVE7UUFBSTtJQUV0QjtBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmluYW56YXMvLi9hcHAvYXBpL3Rlc3QvYWkvcm91dGUudHM/NGM5ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXh0UmVzcG9uc2UgfSBmcm9tICduZXh0L3NlcnZlcidcclxuXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBQT1NUKHJlcXVlc3Q6IFJlcXVlc3QpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgeyBlbmRwb2ludCwgdG9rZW4sIG1vZGVsIH0gPSBhd2FpdCByZXF1ZXN0Lmpzb24oKVxyXG5cclxuICAgICAgICBpZiAoIWVuZHBvaW50IHx8ICF0b2tlbikge1xyXG4gICAgICAgICAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oXHJcbiAgICAgICAgICAgICAgICB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0ZhbHRhbiBjcmVkZW5jaWFsZXMgKEVuZHBvaW50IG8gVG9rZW4pJyB9LFxyXG4gICAgICAgICAgICAgICAgeyBzdGF0dXM6IDQwMCB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFByZXBhcmUgdGFyZ2V0IFVSTFxyXG4gICAgICAgIGxldCB0YXJnZXRVcmwgPSBlbmRwb2ludFxyXG4gICAgICAgIGlmICghdGFyZ2V0VXJsLmVuZHNXaXRoKCcvbWVzc2FnZXMnKSAmJiAhdGFyZ2V0VXJsLmVuZHNXaXRoKCcvY2hhdC9jb21wbGV0aW9ucycpKSB7XHJcbiAgICAgICAgICAgIHRhcmdldFVybCA9IHRhcmdldFVybC5lbmRzV2l0aCgnLycpID8gYCR7dGFyZ2V0VXJsfXYxL21lc3NhZ2VzYCA6IGAke3RhcmdldFVybH0vdjEvbWVzc2FnZXNgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBzdGFydCA9IERhdGUubm93KClcclxuXHJcbiAgICAgICAgLy8gUGF5bG9hZCBmb3IgQW50aHJvcGljIC92MS9tZXNzYWdlc1xyXG4gICAgICAgIGNvbnN0IGJvZHkgPSB7XHJcbiAgICAgICAgICAgIG1vZGVsOiBtb2RlbCB8fCBcImdwdC0zLjUtdHVyYm9cIiwgLy8gRmFsbGJhY2sgaWYgbm8gbW9kZWwgc2VsZWN0ZWRcclxuICAgICAgICAgICAgbWVzc2FnZXM6IFt7IHJvbGU6IFwidXNlclwiLCBjb250ZW50OiBcIlBpbmdcIiB9XSxcclxuICAgICAgICAgICAgbWF4X3Rva2VuczogMTBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godGFyZ2V0VXJsLCB7XHJcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgICAgICAgICAgJ3gtYXBpLWtleSc6IHRva2VuLFxyXG4gICAgICAgICAgICAgICAgJ2FudGhyb3BpYy12ZXJzaW9uJzogJzIwMjMtMDYtMDEnLFxyXG4gICAgICAgICAgICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmVhcmVyICR7dG9rZW59YFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShib2R5KVxyXG4gICAgICAgIH0pXHJcblxyXG4gICAgICAgIGNvbnN0IGR1cmF0aW9uID0gRGF0ZS5ub3coKSAtIHN0YXJ0XHJcblxyXG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcclxuICAgICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKVxyXG4gICAgICAgICAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oXHJcbiAgICAgICAgICAgICAgICB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogYEVycm9yICR7cmVzcG9uc2Uuc3RhdHVzfTogJHt0ZXh0LnNsaWNlKDAsIDEwMCl9YCB9LFxyXG4gICAgICAgICAgICAgICAgeyBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyB9XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbih7IHN1Y2Nlc3M6IHRydWUsIGxhdGVuY3k6IGR1cmF0aW9uIH0pXHJcblxyXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0FJIFRlc3QgRXJyb3I6JywgZXJyb3IpXHJcbiAgICAgICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKFxyXG4gICAgICAgICAgICB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IubWVzc2FnZSB8fCAnRXJyb3IgZGUgY29uZXhpw7NuJyB9LFxyXG4gICAgICAgICAgICB7IHN0YXR1czogNTAwIH1cclxuICAgICAgICApXHJcbiAgICB9XHJcbn1cclxuIl0sIm5hbWVzIjpbIk5leHRSZXNwb25zZSIsIlBPU1QiLCJyZXF1ZXN0IiwiZW5kcG9pbnQiLCJ0b2tlbiIsIm1vZGVsIiwianNvbiIsInN1Y2Nlc3MiLCJlcnJvciIsInN0YXR1cyIsInRhcmdldFVybCIsImVuZHNXaXRoIiwic3RhcnQiLCJEYXRlIiwibm93IiwiYm9keSIsIm1lc3NhZ2VzIiwicm9sZSIsImNvbnRlbnQiLCJtYXhfdG9rZW5zIiwicmVzcG9uc2UiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJKU09OIiwic3RyaW5naWZ5IiwiZHVyYXRpb24iLCJvayIsInRleHQiLCJzbGljZSIsImxhdGVuY3kiLCJjb25zb2xlIiwibWVzc2FnZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./app/api/test/ai/route.ts\n");
/***/ })
};
;
// load runtime
var __webpack_require__ = require("../../../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Ftest%2Fai%2Froute&page=%2Fapi%2Ftest%2Fai%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Ftest%2Fai%2Froute.ts&appDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas%5Capp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=C%3A%5CUsers%5CAdministrator%5CDocuments%5Ccuentas%5Cfinanzas&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=export&preferredRegion=&middlewareConfig=e30%3D!")));
module.exports = __webpack_exports__;
})();