@superinterface/server 1.1.5 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +2 -2
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_btwyo7 +1 -1
- package/.next/fallback-build-manifest.json +2 -2
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/api/workspaces/[workspaceId]/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +1 -1
- package/.next/server/chunks/[root-of-the-server]__0a426407._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0a426407._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__0c1bc5ed._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0c1bc5ed._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__1a7a04d0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__1a7a04d0._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__2945c9e9._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__2945c9e9._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__315f084a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__315f084a._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__42ed6203._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__42ed6203._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__4c8c04a2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__4c8c04a2._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__4e536bc0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__4e536bc0._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__583a7f1c._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__583a7f1c._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__5abf1160._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__5abf1160._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__5aedcd8a._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__5aedcd8a._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__62d958e7._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__62d958e7._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__630959e5._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__630959e5._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__83461316._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__83461316._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__9a611d42._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__9a611d42._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__a9fab3b2._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__a9fab3b2._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__b10ec83e._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__b10ec83e._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__c1629392._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__c1629392._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__e73543af._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__e73543af._.js.map +1 -1
- package/.next/server/chunks/[root-of-the-server]__e8127a36._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__e8127a36._.js.map +1 -1
- package/.next/server/chunks/c4f00_next_dist_esm_build_templates_app-route_f952d9ab.js +1 -1
- package/.next/server/chunks/c4f00_next_dist_esm_build_templates_app-route_f952d9ab.js.map +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/trace +1 -1
- package/README.md +3 -3
- package/dist/app/api/messages/buildRoute.d.ts.map +1 -1
- package/dist/app/api/messages/buildRoute.js +1 -3
- package/dist/lib/cache/cacheHeaders.d.ts.map +1 -1
- package/dist/lib/cache/cacheHeaders.js +1 -1
- package/package.json +1 -1
- /package/.next/static/{euNx_MoPmZ6Ig22d-7GLW → 25Kcgl6uIxdBmkSgq8yP-}/_buildManifest.js +0 -0
- /package/.next/static/{euNx_MoPmZ6Ig22d-7GLW → 25Kcgl6uIxdBmkSgq8yP-}/_clientMiddlewareManifest.json +0 -0
- /package/.next/static/{euNx_MoPmZ6Ig22d-7GLW → 25Kcgl6uIxdBmkSgq8yP-}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/cache/cacheHeaders.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/getApiKey.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/normalizeMcpServerName.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/getMcpServerLabel.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/misc/isJSON.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/serializeApiMcpServer.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/mcpServerSchema.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/isMcpServerLabelTaken.ts","turbopack:///[project]/supercorp/superinterface/node_modules/next/dist/esm/build/templates/app-route.js","turbopack:///[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/route.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/buildRoute.ts"],"sourcesContent":["export const cacheHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type',\n}\n","import { ApiKeyType, ApiKey, type PrismaClient } from '@prisma/client'\nimport { validate } from 'uuid'\n\nexport const getApiKey = async ({\n authorization,\n type,\n prisma,\n}: {\n authorization: string | null\n type: ApiKeyType\n prisma: PrismaClient\n}): Promise<ApiKey | null> => {\n if (!authorization) {\n return null\n }\n\n const [, apiKeyValue] = authorization.split('Bearer ')\n\n if (!validate(apiKeyValue)) {\n return null\n }\n\n return prisma.apiKey.findFirst({\n where: { type, value: apiKeyValue },\n })\n}\n","export const normalizeMcpServerName = (name: string) =>\n name.replace(/[^a-zA-Z0-9-]/g, '-')\n","import { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const getMcpServerLabel = ({\n id,\n name,\n}: {\n id: string\n name: string | null | undefined\n}) => {\n if (name) {\n const normalized = normalizeMcpServerName(name)\n if (normalized) {\n return normalized\n }\n }\n\n return `mcp-server-${id}`\n}\n","export const isJSON = (value: string) => {\n try {\n JSON.parse(value)\n return true\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false\n }\n}\n","import type { Prisma, SseTransport, HttpTransport } from '@prisma/client'\n\nconst serializeApiSseTransport = ({\n sseTransport,\n}: {\n sseTransport: SseTransport\n}) => ({\n id: sseTransport.id,\n url: sseTransport.url,\n headers: sseTransport.headers,\n createdAt: sseTransport.createdAt.toISOString(),\n updatedAt: sseTransport.updatedAt.toISOString(),\n})\n\nconst serializeApiHttpTransport = ({\n httpTransport,\n}: {\n httpTransport: HttpTransport\n}) => ({\n id: httpTransport.id,\n url: httpTransport.url,\n headers: httpTransport.headers,\n createdAt: httpTransport.createdAt.toISOString(),\n updatedAt: httpTransport.updatedAt.toISOString(),\n})\n\nexport const serializeApiMcpServer = ({\n mcpServer,\n}: {\n mcpServer: Prisma.McpServerGetPayload<{\n include: {\n sseTransport: true\n httpTransport: true\n }\n }>\n}) => ({\n id: mcpServer.id,\n name: mcpServer.name,\n description: mcpServer.description,\n transportType: mcpServer.transportType,\n sseTransport: mcpServer.sseTransport\n ? serializeApiSseTransport({\n sseTransport: mcpServer.sseTransport,\n })\n : null,\n httpTransport: mcpServer.httpTransport\n ? serializeApiHttpTransport({\n httpTransport: mcpServer.httpTransport,\n })\n : null,\n createdAt: mcpServer.createdAt.toISOString(),\n updatedAt: mcpServer.updatedAt.toISOString(),\n})\n","import { z } from 'zod'\nimport { TransportType } from '@prisma/client'\nimport { isJSON } from '@/lib/misc/isJSON'\n\nconst stdioTransportSchema = z.object({\n command: z.string().min(1),\n args: z.string().min(1),\n})\n\nconst sseTransportSchema = z.object({\n url: z.string().min(1).url(),\n headers: z.string().min(1).refine(isJSON, {\n message: 'Must be a valid JSON string.',\n }),\n})\n\nconst httpTransportSchema = z.object({\n url: z.string().min(1).url(),\n headers: z.string().min(1).refine(isJSON, {\n message: 'Must be a valid JSON string.',\n }),\n})\n\nconst optionalNameString = z.string().min(1).optional().nullable()\n\nconst optionalDescriptionString = z.string().min(1).optional().nullable()\n\nexport const baseSchema = z.object({\n name: optionalNameString,\n description: optionalDescriptionString,\n transportType: z\n .nativeEnum(TransportType)\n .refine((t) => t !== TransportType.STDIO, {\n message: `transportType cannot be ${TransportType.STDIO}`,\n }),\n sseTransport: sseTransportSchema.nullable().optional(),\n httpTransport: httpTransportSchema.nullable().optional(),\n})\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const superRefine = (values: any, ctx: any) => {\n if (values.transportType === TransportType.STDIO) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Transport type ${TransportType.STDIO} is not allowed.`,\n })\n\n const result = stdioTransportSchema.safeParse(values.stdioTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['stdioTransport', ...issue.path],\n }),\n )\n } else if (values.transportType === TransportType.SSE) {\n const result = sseTransportSchema.safeParse(values.sseTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['sseTransport', ...issue.path],\n }),\n )\n } else if (values.transportType === TransportType.HTTP) {\n const result = httpTransportSchema.safeParse(values.httpTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['httpTransport', ...issue.path],\n }),\n )\n }\n}\n\nexport const mcpServerSchema = baseSchema.superRefine(superRefine)\n","import type { PrismaClient } from '@prisma/client'\nimport { getMcpServerLabel } from '@/lib/mcpServers/getMcpServerLabel'\nimport { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const isMcpServerLabelTaken = async ({\n prisma,\n assistantId,\n label,\n excludeMcpServerId,\n}: {\n prisma: PrismaClient\n assistantId: string\n label: string\n excludeMcpServerId?: string\n}) => {\n const existing = await prisma.mcpServer.findMany({\n where: {\n assistantId,\n ...(excludeMcpServerId\n ? {\n NOT: {\n id: excludeMcpServerId,\n },\n }\n : {}),\n },\n select: {\n id: true,\n name: true,\n },\n })\n\n const normalizedTarget = normalizeMcpServerName(label)\n\n if (!/[a-zA-Z0-9]/.test(normalizedTarget)) {\n return false\n }\n\n const targetLower = normalizedTarget.toLowerCase()\n\n return existing.some((server) => {\n const normalizedExisting = server.name\n ? normalizeMcpServerName(server.name)\n : null\n\n if (normalizedExisting && /[a-zA-Z0-9]/.test(normalizedExisting)) {\n if (normalizedExisting.toLowerCase() === targetLower) {\n return true\n }\n }\n\n const fallback = getMcpServerLabel({\n id: server.id,\n name: server.name,\n })\n const normalizedFallback = normalizeMcpServerName(fallback)\n\n return (\n /[a-zA-Z0-9]/.test(normalizedFallback) &&\n normalizedFallback.toLowerCase() === targetLower\n )\n })\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/assistants/[assistantId]/mcp-servers/route\",\n pathname: \"/api/assistants/[assistantId]/mcp-servers\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/route.ts\",\n nextConfigOutput,\n userland\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 { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n var _nextConfig_experimental;\n let srcPage = \"/api/assistants/[assistantId]/mcp-servers/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isRevalidate = isIsr && !supportsDynamicResponse;\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n cacheComponents: Boolean(nextConfig.experimental.cacheComponents),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: (_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.cacheLife,\n isRevalidate,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${req.url}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!getRequestMeta(req, 'minimalMode') && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isRevalidate,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!getRequestMeta(req, 'minimalMode')) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(getRequestMeta(req, 'minimalMode') && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${req.url}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isRevalidate,\n isOnDemandRevalidate\n })\n });\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { prisma } from '@/lib/prisma'\nimport { buildGET, buildOPTIONS, buildPOST } from './buildRoute'\n\nexport const GET = buildGET({ prisma })\n\nexport const POST = buildPOST({ prisma })\n\nexport const OPTIONS = buildOPTIONS()\n","import { type NextRequest, NextResponse } from 'next/server'\nimport { ApiKeyType, TransportType, type PrismaClient } from '@prisma/client'\nimport { headers } from 'next/headers'\nimport { cacheHeaders } from '@/lib/cache/cacheHeaders'\nimport { getApiKey } from '@/lib/apiKeys/getApiKey'\nimport { serializeApiMcpServer } from '@/lib/mcpServers/serializeApiMcpServer'\nimport { mcpServerSchema } from '@/lib/mcpServers/mcpServerSchema'\nimport { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\nimport { isMcpServerLabelTaken } from '@/lib/mcpServers/isMcpServerLabelTaken'\n\ntype RouteProps = {\n params: Promise<{ assistantId: string }>\n}\n\nexport const buildGET =\n ({ prisma }: { prisma: PrismaClient }) =>\n async (_request: NextRequest, props: RouteProps) => {\n const { assistantId } = await props.params\n\n const headersList = await headers()\n const authorization = headersList.get('authorization')\n if (!authorization) {\n return NextResponse.json(\n { error: 'No authorization header found' },\n { status: 400 },\n )\n }\n\n const privateApiKey = await getApiKey({\n type: ApiKeyType.PRIVATE,\n authorization,\n prisma,\n })\n\n if (!privateApiKey) {\n return NextResponse.json({ error: 'Invalid api key' }, { status: 400 })\n }\n\n const assistant = await prisma.assistant.findFirst({\n where: {\n id: assistantId,\n workspaceId: privateApiKey.workspaceId,\n },\n include: {\n mcpServers: {\n include: {\n stdioTransport: true,\n sseTransport: true,\n httpTransport: true,\n },\n orderBy: {\n createdAt: 'desc',\n },\n },\n },\n })\n\n if (!assistant) {\n return NextResponse.json({ error: 'No assistant found' }, { status: 400 })\n }\n\n return NextResponse.json(\n {\n mcpServers: assistant.mcpServers.map((mcpServer) =>\n serializeApiMcpServer({\n mcpServer,\n }),\n ),\n },\n { headers: cacheHeaders },\n )\n }\n\nexport const buildPOST =\n ({ prisma }: { prisma: PrismaClient }) =>\n async (request: NextRequest, props: RouteProps) => {\n const { assistantId } = await props.params\n\n const headersList = await headers()\n const authorization = headersList.get('authorization')\n if (!authorization) {\n return NextResponse.json(\n { error: 'No authorization header found' },\n { status: 400 },\n )\n }\n\n const privateApiKey = await getApiKey({\n authorization,\n type: ApiKeyType.PRIVATE,\n prisma,\n })\n\n if (!privateApiKey) {\n return NextResponse.json({ error: 'Invalid api key' }, { status: 400 })\n }\n\n const body = await request.json()\n const parsed = mcpServerSchema.safeParse(body)\n\n if (!parsed.success) {\n return NextResponse.json({ error: 'Invalid payload' }, { status: 400 })\n }\n\n const { transportType, sseTransport, httpTransport, name, description } =\n parsed.data\n\n const workspaceId = privateApiKey.workspaceId\n\n const assistant = await prisma.assistant.findFirst({\n where: { id: assistantId, workspaceId },\n })\n\n if (!assistant) {\n return NextResponse.json({ error: 'No assistant found' }, { status: 400 })\n }\n\n if (typeof name === 'string') {\n const normalizedName = normalizeMcpServerName(name)\n\n if (!/[a-zA-Z0-9]/.test(normalizedName)) {\n return NextResponse.json(\n {\n error:\n 'Invalid MCP server name. Use letters, numbers, spaces, or hyphens.',\n },\n { status: 400 },\n )\n }\n\n const normalizedLabel = normalizedName\n\n const isTaken = await isMcpServerLabelTaken({\n prisma,\n assistantId,\n label: normalizedLabel,\n })\n\n if (isTaken) {\n return NextResponse.json(\n { error: 'An MCP server with that name already exists.' },\n { status: 400 },\n )\n }\n }\n\n const mcpServer = await prisma.mcpServer.create({\n data: {\n transportType,\n ...(transportType === TransportType.SSE\n ? {\n sseTransport: {\n create: {\n url: sseTransport!.url,\n headers: JSON.parse(sseTransport!.headers),\n },\n },\n }\n : {}),\n ...(transportType === TransportType.HTTP\n ? {\n httpTransport: {\n create: {\n url: httpTransport!.url,\n headers: JSON.parse(httpTransport!.headers),\n },\n },\n }\n : {}),\n ...(name !== undefined ? { name } : {}),\n ...(description !== undefined ? { description } : {}),\n assistant: {\n connect: {\n id: assistantId,\n workspaceId,\n },\n },\n },\n include: {\n stdioTransport: true,\n sseTransport: true,\n httpTransport: true,\n },\n })\n\n return NextResponse.json(\n {\n mcpServer: serializeApiMcpServer({ mcpServer }),\n },\n { headers: cacheHeaders },\n )\n }\n\nexport const buildOPTIONS = () => () =>\n NextResponse.json(\n {},\n {\n headers: cacheHeaders,\n },\n )\n"],"names":[],"mappings":"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","ignoreList":[8]}
|
|
1
|
+
{"version":3,"sources":["turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/cache/cacheHeaders.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/getApiKey.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/normalizeMcpServerName.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/getMcpServerLabel.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/misc/isJSON.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/serializeApiMcpServer.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/mcpServerSchema.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/isMcpServerLabelTaken.ts","turbopack:///[project]/supercorp/superinterface/node_modules/next/dist/esm/build/templates/app-route.js","turbopack:///[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/route.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/buildRoute.ts"],"sourcesContent":["export const cacheHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers':\n 'Content-Type, Authorization, X-Requested-With, Accept',\n}\n","import { ApiKeyType, ApiKey, type PrismaClient } from '@prisma/client'\nimport { validate } from 'uuid'\n\nexport const getApiKey = async ({\n authorization,\n type,\n prisma,\n}: {\n authorization: string | null\n type: ApiKeyType\n prisma: PrismaClient\n}): Promise<ApiKey | null> => {\n if (!authorization) {\n return null\n }\n\n const [, apiKeyValue] = authorization.split('Bearer ')\n\n if (!validate(apiKeyValue)) {\n return null\n }\n\n return prisma.apiKey.findFirst({\n where: { type, value: apiKeyValue },\n })\n}\n","export const normalizeMcpServerName = (name: string) =>\n name.replace(/[^a-zA-Z0-9-]/g, '-')\n","import { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const getMcpServerLabel = ({\n id,\n name,\n}: {\n id: string\n name: string | null | undefined\n}) => {\n if (name) {\n const normalized = normalizeMcpServerName(name)\n if (normalized) {\n return normalized\n }\n }\n\n return `mcp-server-${id}`\n}\n","export const isJSON = (value: string) => {\n try {\n JSON.parse(value)\n return true\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (e) {\n return false\n }\n}\n","import type { Prisma, SseTransport, HttpTransport } from '@prisma/client'\n\nconst serializeApiSseTransport = ({\n sseTransport,\n}: {\n sseTransport: SseTransport\n}) => ({\n id: sseTransport.id,\n url: sseTransport.url,\n headers: sseTransport.headers,\n createdAt: sseTransport.createdAt.toISOString(),\n updatedAt: sseTransport.updatedAt.toISOString(),\n})\n\nconst serializeApiHttpTransport = ({\n httpTransport,\n}: {\n httpTransport: HttpTransport\n}) => ({\n id: httpTransport.id,\n url: httpTransport.url,\n headers: httpTransport.headers,\n createdAt: httpTransport.createdAt.toISOString(),\n updatedAt: httpTransport.updatedAt.toISOString(),\n})\n\nexport const serializeApiMcpServer = ({\n mcpServer,\n}: {\n mcpServer: Prisma.McpServerGetPayload<{\n include: {\n sseTransport: true\n httpTransport: true\n }\n }>\n}) => ({\n id: mcpServer.id,\n name: mcpServer.name,\n description: mcpServer.description,\n transportType: mcpServer.transportType,\n sseTransport: mcpServer.sseTransport\n ? serializeApiSseTransport({\n sseTransport: mcpServer.sseTransport,\n })\n : null,\n httpTransport: mcpServer.httpTransport\n ? serializeApiHttpTransport({\n httpTransport: mcpServer.httpTransport,\n })\n : null,\n createdAt: mcpServer.createdAt.toISOString(),\n updatedAt: mcpServer.updatedAt.toISOString(),\n})\n","import { z } from 'zod'\nimport { TransportType } from '@prisma/client'\nimport { isJSON } from '@/lib/misc/isJSON'\n\nconst stdioTransportSchema = z.object({\n command: z.string().min(1),\n args: z.string().min(1),\n})\n\nconst sseTransportSchema = z.object({\n url: z.string().min(1).url(),\n headers: z.string().min(1).refine(isJSON, {\n message: 'Must be a valid JSON string.',\n }),\n})\n\nconst httpTransportSchema = z.object({\n url: z.string().min(1).url(),\n headers: z.string().min(1).refine(isJSON, {\n message: 'Must be a valid JSON string.',\n }),\n})\n\nconst optionalNameString = z.string().min(1).optional().nullable()\n\nconst optionalDescriptionString = z.string().min(1).optional().nullable()\n\nexport const baseSchema = z.object({\n name: optionalNameString,\n description: optionalDescriptionString,\n transportType: z\n .nativeEnum(TransportType)\n .refine((t) => t !== TransportType.STDIO, {\n message: `transportType cannot be ${TransportType.STDIO}`,\n }),\n sseTransport: sseTransportSchema.nullable().optional(),\n httpTransport: httpTransportSchema.nullable().optional(),\n})\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const superRefine = (values: any, ctx: any) => {\n if (values.transportType === TransportType.STDIO) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Transport type ${TransportType.STDIO} is not allowed.`,\n })\n\n const result = stdioTransportSchema.safeParse(values.stdioTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['stdioTransport', ...issue.path],\n }),\n )\n } else if (values.transportType === TransportType.SSE) {\n const result = sseTransportSchema.safeParse(values.sseTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['sseTransport', ...issue.path],\n }),\n )\n } else if (values.transportType === TransportType.HTTP) {\n const result = httpTransportSchema.safeParse(values.httpTransport)\n\n if (result.success) return\n\n result.error.issues.forEach((issue) =>\n ctx.addIssue({\n ...issue,\n path: ['httpTransport', ...issue.path],\n }),\n )\n }\n}\n\nexport const mcpServerSchema = baseSchema.superRefine(superRefine)\n","import type { PrismaClient } from '@prisma/client'\nimport { getMcpServerLabel } from '@/lib/mcpServers/getMcpServerLabel'\nimport { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const isMcpServerLabelTaken = async ({\n prisma,\n assistantId,\n label,\n excludeMcpServerId,\n}: {\n prisma: PrismaClient\n assistantId: string\n label: string\n excludeMcpServerId?: string\n}) => {\n const existing = await prisma.mcpServer.findMany({\n where: {\n assistantId,\n ...(excludeMcpServerId\n ? {\n NOT: {\n id: excludeMcpServerId,\n },\n }\n : {}),\n },\n select: {\n id: true,\n name: true,\n },\n })\n\n const normalizedTarget = normalizeMcpServerName(label)\n\n if (!/[a-zA-Z0-9]/.test(normalizedTarget)) {\n return false\n }\n\n const targetLower = normalizedTarget.toLowerCase()\n\n return existing.some((server) => {\n const normalizedExisting = server.name\n ? normalizeMcpServerName(server.name)\n : null\n\n if (normalizedExisting && /[a-zA-Z0-9]/.test(normalizedExisting)) {\n if (normalizedExisting.toLowerCase() === targetLower) {\n return true\n }\n }\n\n const fallback = getMcpServerLabel({\n id: server.id,\n name: server.name,\n })\n const normalizedFallback = normalizeMcpServerName(fallback)\n\n return (\n /[a-zA-Z0-9]/.test(normalizedFallback) &&\n normalizedFallback.toLowerCase() === targetLower\n )\n })\n}\n","import { AppRouteRouteModule } from \"next/dist/esm/server/route-modules/app-route/module.compiled\";\nimport { RouteKind } from \"next/dist/esm/server/route-kind\";\nimport { patchFetch as _patchFetch } from \"next/dist/esm/server/lib/patch-fetch\";\nimport { getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { NextRequestAdapter, signalFromNodeResponse } from \"next/dist/esm/server/web/spec-extension/adapters/next-request\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { sendResponse } from \"next/dist/esm/server/send-response\";\nimport { fromNodeOutgoingHttpHeaders, toNodeOutgoingHttpHeaders } from \"next/dist/esm/server/web/utils\";\nimport { getCacheControlHeader } from \"next/dist/esm/server/lib/cache-control\";\nimport { INFINITE_CACHE, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\nimport { CachedRouteKind } from \"next/dist/esm/server/response-cache\";\nimport * as userland from \"INNER_APP_ROUTE\";\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new AppRouteRouteModule({\n definition: {\n kind: RouteKind.APP_ROUTE,\n page: \"/api/assistants/[assistantId]/mcp-servers/route\",\n pathname: \"/api/assistants/[assistantId]/mcp-servers\",\n filename: \"route\",\n bundlePath: \"\"\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || '',\n resolvedPagePath: \"[project]/supercorp/superinterface/packages/server/src/app/api/assistants/[assistantId]/mcp-servers/route.ts\",\n nextConfigOutput,\n userland\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 { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\nexport { routeModule, workAsyncStorage, workUnitAsyncStorage, serverHooks, patchFetch, };\nexport async function handler(req, res, ctx) {\n var _nextConfig_experimental;\n let srcPage = \"/api/assistants/[assistantId]/mcp-servers/route\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, params, nextConfig, isDraftMode, prerenderManifest, routerServerContext, isOnDemandRevalidate, revalidateOnlyGenerated, resolvedPathname } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let isIsr = Boolean(prerenderManifest.dynamicRoutes[normalizedSrcPage] || prerenderManifest.routes[resolvedPathname]);\n if (isIsr && !isDraftMode) {\n const isPrerendered = Boolean(prerenderManifest.routes[resolvedPathname]);\n const prerenderInfo = prerenderManifest.dynamicRoutes[normalizedSrcPage];\n if (prerenderInfo) {\n if (prerenderInfo.fallback === false && !isPrerendered) {\n throw new NoFallbackError();\n }\n }\n }\n let cacheKey = null;\n if (isIsr && !routeModule.isDev && !isDraftMode) {\n cacheKey = resolvedPathname;\n // ensure /index and / is normalized to one key\n cacheKey = cacheKey === '/index' ? '/' : cacheKey;\n }\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isIsr;\n // This is a revalidation request if the request is for a static\n // page and it is not being resumed from a postponed render and\n // it is not a dynamic RSC request then it is a revalidation\n // request.\n const isRevalidate = isIsr && !supportsDynamicResponse;\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const context = {\n params,\n prerenderManifest,\n renderOpts: {\n experimental: {\n cacheComponents: Boolean(nextConfig.experimental.cacheComponents),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts)\n },\n supportsDynamicResponse,\n incrementalCache: getRequestMeta(req, 'incrementalCache'),\n cacheLifeProfiles: (_nextConfig_experimental = nextConfig.experimental) == null ? void 0 : _nextConfig_experimental.cacheLife,\n isRevalidate,\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: undefined,\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext)\n },\n sharedContext: {\n buildId\n }\n };\n const nodeNextReq = new NodeNextRequest(req);\n const nodeNextRes = new NodeNextResponse(res);\n const nextReq = NextRequestAdapter.fromNodeNextRequest(nodeNextReq, signalFromNodeResponse(res));\n try {\n const invokeRouteModule = async (span)=>{\n return routeModule.handle(nextReq, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${req.url}`);\n }\n });\n };\n const handleResponse = async (currentSpan)=>{\n var _cacheEntry_value;\n const responseGenerator = async ({ previousCacheEntry })=>{\n try {\n if (!getRequestMeta(req, 'minimalMode') && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {\n res.statusCode = 404;\n // on-demand revalidate always sets this header\n res.setHeader('x-nextjs-cache', 'REVALIDATED');\n res.end('This page could not be found');\n return null;\n }\n const response = await invokeRouteModule(currentSpan);\n req.fetchMetrics = context.renderOpts.fetchMetrics;\n let pendingWaitUntil = context.renderOpts.pendingWaitUntil;\n // Attempt using provided waitUntil if available\n // if it's not we fallback to sendResponse's handling\n if (pendingWaitUntil) {\n if (ctx.waitUntil) {\n ctx.waitUntil(pendingWaitUntil);\n pendingWaitUntil = undefined;\n }\n }\n const cacheTags = context.renderOpts.collectedTags;\n // If the request is for a static response, we can cache it so long\n // as it's not edge.\n if (isIsr) {\n const blob = await response.blob();\n // Copy the headers from the response.\n const headers = toNodeOutgoingHttpHeaders(response.headers);\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n if (!headers['content-type'] && blob.type) {\n headers['content-type'] = blob.type;\n }\n const revalidate = typeof context.renderOpts.collectedRevalidate === 'undefined' || context.renderOpts.collectedRevalidate >= INFINITE_CACHE ? false : context.renderOpts.collectedRevalidate;\n const expire = typeof context.renderOpts.collectedExpire === 'undefined' || context.renderOpts.collectedExpire >= INFINITE_CACHE ? undefined : context.renderOpts.collectedExpire;\n // Create the cache entry for the response.\n const cacheEntry = {\n value: {\n kind: CachedRouteKind.APP_ROUTE,\n status: response.status,\n body: Buffer.from(await blob.arrayBuffer()),\n headers\n },\n cacheControl: {\n revalidate,\n expire\n }\n };\n return cacheEntry;\n } else {\n // send response without caching if not ISR\n await sendResponse(nodeNextReq, nodeNextRes, response, context.renderOpts.pendingWaitUntil);\n return null;\n }\n } catch (err) {\n // if this is a background revalidate we need to report\n // the request error here as it won't be bubbled\n if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isRevalidate,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n throw err;\n }\n };\n const cacheEntry = await routeModule.handleResponse({\n req,\n nextConfig,\n cacheKey,\n routeKind: RouteKind.APP_ROUTE,\n isFallback: false,\n prerenderManifest,\n isRoutePPREnabled: false,\n isOnDemandRevalidate,\n revalidateOnlyGenerated,\n responseGenerator,\n waitUntil: ctx.waitUntil\n });\n // we don't create a cacheEntry for ISR\n if (!isIsr) {\n return null;\n }\n if ((cacheEntry == null ? void 0 : (_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_ROUTE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant: app-route received invalid cache entry ${cacheEntry == null ? void 0 : (_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E701\",\n enumerable: false,\n configurable: true\n });\n }\n if (!getRequestMeta(req, 'minimalMode')) {\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Draft mode should never be cached\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n const headers = fromNodeOutgoingHttpHeaders(cacheEntry.value.headers);\n if (!(getRequestMeta(req, 'minimalMode') && isIsr)) {\n headers.delete(NEXT_CACHE_TAGS_HEADER);\n }\n // If cache control is already set on the response we don't\n // override it to allow users to customize it via next.config\n if (cacheEntry.cacheControl && !res.getHeader('Cache-Control') && !headers.get('Cache-Control')) {\n headers.set('Cache-Control', getCacheControlHeader(cacheEntry.cacheControl));\n }\n await sendResponse(nodeNextReq, nodeNextRes, new Response(cacheEntry.value.body, {\n headers,\n status: cacheEntry.value.status || 200\n }));\n return null;\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${req.url}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: normalizedSrcPage,\n routeType: 'route',\n revalidateReason: getRevalidateReason({\n isRevalidate,\n isOnDemandRevalidate\n })\n });\n }\n // rethrow so that we can handle serving error page\n // If this is during static generation, throw the error again.\n if (isIsr) throw err;\n // Otherwise, send a 500 response.\n await sendResponse(nodeNextReq, nodeNextRes, new Response(null, {\n status: 500\n }));\n return null;\n }\n}\n\n//# sourceMappingURL=app-route.js.map\n","import { prisma } from '@/lib/prisma'\nimport { buildGET, buildOPTIONS, buildPOST } from './buildRoute'\n\nexport const GET = buildGET({ prisma })\n\nexport const POST = buildPOST({ prisma })\n\nexport const OPTIONS = buildOPTIONS()\n","import { type NextRequest, NextResponse } from 'next/server'\nimport { ApiKeyType, TransportType, type PrismaClient } from '@prisma/client'\nimport { headers } from 'next/headers'\nimport { cacheHeaders } from '@/lib/cache/cacheHeaders'\nimport { getApiKey } from '@/lib/apiKeys/getApiKey'\nimport { serializeApiMcpServer } from '@/lib/mcpServers/serializeApiMcpServer'\nimport { mcpServerSchema } from '@/lib/mcpServers/mcpServerSchema'\nimport { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\nimport { isMcpServerLabelTaken } from '@/lib/mcpServers/isMcpServerLabelTaken'\n\ntype RouteProps = {\n params: Promise<{ assistantId: string }>\n}\n\nexport const buildGET =\n ({ prisma }: { prisma: PrismaClient }) =>\n async (_request: NextRequest, props: RouteProps) => {\n const { assistantId } = await props.params\n\n const headersList = await headers()\n const authorization = headersList.get('authorization')\n if (!authorization) {\n return NextResponse.json(\n { error: 'No authorization header found' },\n { status: 400 },\n )\n }\n\n const privateApiKey = await getApiKey({\n type: ApiKeyType.PRIVATE,\n authorization,\n prisma,\n })\n\n if (!privateApiKey) {\n return NextResponse.json({ error: 'Invalid api key' }, { status: 400 })\n }\n\n const assistant = await prisma.assistant.findFirst({\n where: {\n id: assistantId,\n workspaceId: privateApiKey.workspaceId,\n },\n include: {\n mcpServers: {\n include: {\n stdioTransport: true,\n sseTransport: true,\n httpTransport: true,\n },\n orderBy: {\n createdAt: 'desc',\n },\n },\n },\n })\n\n if (!assistant) {\n return NextResponse.json({ error: 'No assistant found' }, { status: 400 })\n }\n\n return NextResponse.json(\n {\n mcpServers: assistant.mcpServers.map((mcpServer) =>\n serializeApiMcpServer({\n mcpServer,\n }),\n ),\n },\n { headers: cacheHeaders },\n )\n }\n\nexport const buildPOST =\n ({ prisma }: { prisma: PrismaClient }) =>\n async (request: NextRequest, props: RouteProps) => {\n const { assistantId } = await props.params\n\n const headersList = await headers()\n const authorization = headersList.get('authorization')\n if (!authorization) {\n return NextResponse.json(\n { error: 'No authorization header found' },\n { status: 400 },\n )\n }\n\n const privateApiKey = await getApiKey({\n authorization,\n type: ApiKeyType.PRIVATE,\n prisma,\n })\n\n if (!privateApiKey) {\n return NextResponse.json({ error: 'Invalid api key' }, { status: 400 })\n }\n\n const body = await request.json()\n const parsed = mcpServerSchema.safeParse(body)\n\n if (!parsed.success) {\n return NextResponse.json({ error: 'Invalid payload' }, { status: 400 })\n }\n\n const { transportType, sseTransport, httpTransport, name, description } =\n parsed.data\n\n const workspaceId = privateApiKey.workspaceId\n\n const assistant = await prisma.assistant.findFirst({\n where: { id: assistantId, workspaceId },\n })\n\n if (!assistant) {\n return NextResponse.json({ error: 'No assistant found' }, { status: 400 })\n }\n\n if (typeof name === 'string') {\n const normalizedName = normalizeMcpServerName(name)\n\n if (!/[a-zA-Z0-9]/.test(normalizedName)) {\n return NextResponse.json(\n {\n error:\n 'Invalid MCP server name. Use letters, numbers, spaces, or hyphens.',\n },\n { status: 400 },\n )\n }\n\n const normalizedLabel = normalizedName\n\n const isTaken = await isMcpServerLabelTaken({\n prisma,\n assistantId,\n label: normalizedLabel,\n })\n\n if (isTaken) {\n return NextResponse.json(\n { error: 'An MCP server with that name already exists.' },\n { status: 400 },\n )\n }\n }\n\n const mcpServer = await prisma.mcpServer.create({\n data: {\n transportType,\n ...(transportType === TransportType.SSE\n ? {\n sseTransport: {\n create: {\n url: sseTransport!.url,\n headers: JSON.parse(sseTransport!.headers),\n },\n },\n }\n : {}),\n ...(transportType === TransportType.HTTP\n ? {\n httpTransport: {\n create: {\n url: httpTransport!.url,\n headers: JSON.parse(httpTransport!.headers),\n },\n },\n }\n : {}),\n ...(name !== undefined ? { name } : {}),\n ...(description !== undefined ? { description } : {}),\n assistant: {\n connect: {\n id: assistantId,\n workspaceId,\n },\n },\n },\n include: {\n stdioTransport: true,\n sseTransport: true,\n httpTransport: true,\n },\n })\n\n return NextResponse.json(\n {\n mcpServer: serializeApiMcpServer({ mcpServer }),\n },\n { headers: cacheHeaders },\n )\n }\n\nexport const buildOPTIONS = () => () =>\n NextResponse.json(\n {},\n {\n headers: cacheHeaders,\n },\n )\n"],"names":[],"mappings":"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","ignoreList":[8]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45027,77009,e=>{"use strict";e.s(["getMcpServerLabel",()=>r],45027),e.s(["normalizeMcpServerName",()=>t],77009);let t=e=>e.replace(/[^a-zA-Z0-9-]/g,"-"),r=({id:e,name:r})=>{if(r){let e=t(r);if(e)return e}return`mcp-server-${e}`}},9949,e=>{"use strict";e.s(["workspaceAccessWhere",()=>s]);var t=e.i(29173),r=e.i(88122);let s=async({publicApiKey:e,prisma:s})=>{let n=await (0,r.getApiKey)({authorization:e?`Bearer ${e}`:null,type:t.ApiKeyType.PUBLIC,prisma:s});return n?{apiKeys:{some:{id:n.id}}}:null}},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},65074,e=>{"use strict";e.s(["TaskScheduleConflictError",()=>r,"ValidationError",()=>t]);class t extends Error{static defaultMessage="Validation failed.";constructor(e=t.defaultMessage){super(e),this.name=this.constructor.name}}class r extends t{static defaultMessage="Tasks sharing a key and thread must be scheduled at least 15 minutes apart.";constructor(e=r.defaultMessage){super(e)}}},29325,e=>{"use strict";e.s(["cancelScheduledTask",()=>r]);var t=e.i(30021);let r=async({task:e})=>{if(e.qstashMessageId)try{await t.qstash.messages.delete(e.qstashMessageId)}catch(e){console.error("Failed to cancel scheduled task:",e)}}},85516,e=>{"use strict";e.s(["createTaskSchema",()=>r,"createTaskToolSchema",()=>s,"deleteTaskSchema",()=>a,"listTasksSchema",()=>i,"updateTaskSchema",()=>n]);var t=e.i(13669);let r=t.z.object({title:t.z.string(),message:t.z.string(),schedule:t.z.any(),threadId:t.z.string(),key:t.z.string().optional()}),s=r.omit({threadId:!0}),n=t.z.object({taskId:t.z.string(),title:t.z.string().optional(),message:t.z.string().optional(),schedule:t.z.any().optional(),key:t.z.string().optional()}),a=t.z.object({taskId:t.z.string()}),i=t.z.object({})},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},30611,e=>{"use strict";e.s(["cacheHeaders",()=>t]);let t={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type"}},88122,e=>{"use strict";e.s(["getApiKey",()=>r]);var t=e.i(55897);let r=async({authorization:e,type:r,prisma:s})=>{if(!e)return null;let[,n]=e.split("Bearer ");return(0,t.validate)(n)?s.apiKey.findFirst({where:{type:r,value:n}}):null}},75247,e=>{"use strict";e.s(["isArray",()=>t,"isEmpty",()=>u,"isFunction",()=>n,"isObject",()=>r,"isPrimitive",()=>s,"isString",()=>a]);let t=Array.isArray,r=e=>!!e&&e.constructor===Object,s=e=>null==e||"object"!=typeof e&&"function"!=typeof e,n=e=>!!(e&&e.constructor&&e.call&&e.apply),a=e=>"string"==typeof e||e instanceof String,i=e=>{try{return Number(e)===e}catch{return!1}},u=e=>{if(!0===e||!1===e||null==e)return!0;if(i(e))return 0===e;if("[object Date]"===Object.prototype.toString.call(e))return isNaN(e.getTime());if(n(e)||(e=>!!e&&e.constructor===Symbol)(e))return!1;let t=e.length;if(i(t))return 0===t;let r=e.size;return i(r)?0===r:0===Object.keys(e).length}},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},56512,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",s="hour",n="week",a="month",i="quarter",u="year",o="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,r){var s=String(e);return!s||s.length>=t?e:""+Array(t+1-s.length).join(r)+e},f="en",p={};p[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var y="$isDayjsObject",$=function(e){return e instanceof x||!(!e||!e[y])},g=function e(t,r,s){var n;if(!t)return f;if("string"==typeof t){var a=t.toLowerCase();p[a]&&(n=a),r&&(p[a]=r,n=a);var i=t.split("-");if(!n&&i.length>1)return e(i[0])}else{var u=t.name;p[u]=t,n=u}return!s&&n&&(f=n),n||!s&&f},m=function(e,t){if($(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new x(r)},v={s:h,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(r/60),2,"0")+":"+h(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var s=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(s,a),i=r-n<0,u=t.clone().add(s+(i?-1:1),a);return+(-(s+(r-n)/(i?n-u:u-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:a,y:u,w:n,d:"day",D:o,h:s,m:r,s:t,ms:e,Q:i})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=g,v.i=$,v.w=function(e,t){return m(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var x=function(){function h(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[y]=!0}var f=h.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var s=t.match(l);if(s){var n=s[2]-1||0,a=(s[7]||"0").substring(0,3);return r?new Date(Date.UTC(s[1],n,s[3]||1,s[4]||0,s[5]||0,s[6]||0,a)):new Date(s[1],n,s[3]||1,s[4]||0,s[5]||0,s[6]||0,a)}}return new Date(t)}(e),this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return v},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(e,t){var r=m(e);return this.startOf(t)<=r&&r<=this.endOf(t)},f.isAfter=function(e,t){return m(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<m(e)},f.$g=function(e,t,r){return v.u(e)?this[t]:this.set(r,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,i){var c=this,l=!!v.u(i)||i,d=v.p(e),h=function(e,t){var r=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?r:r.endOf("day")},f=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},p=this.$W,y=this.$M,$=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case u:return l?h(1,0):h(31,11);case a:return l?h(1,y):h(0,y+1);case n:var m=this.$locale().weekStart||0,x=(p<m?p+7:p)-m;return h(l?$-x:$+(6-x),y);case"day":case o:return f(g+"Hours",0);case s:return f(g+"Minutes",1);case r:return f(g+"Seconds",2);case t:return f(g+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(n,i){var c,l=v.p(n),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[a]=d+"Month",c[u]=d+"FullYear",c[s]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],f="day"===l?this.$D+(i-this.$W):i;if(l===a||l===u){var p=this.clone().set(o,1);p.$d[h](f),p.init(),this.$d=p.set(o,Math.min(this.$D,p.daysInMonth())).$d}else h&&this.$d[h](f);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[v.p(e)]()},f.add=function(e,i){var o,c=this;e=Number(e);var l=v.p(i),d=function(t){var r=m(c);return v.w(r.date(r.date()+Math.round(t*e)),c)};if(l===a)return this.set(a,this.$M+e);if(l===u)return this.set(u,this.$y+e);if("day"===l)return d(1);if(l===n)return d(7);var h=((o={})[r]=6e4,o[s]=36e5,o[t]=1e3,o)[l]||1,f=this.$d.getTime()+e*h;return v.w(f,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var s=e||"YYYY-MM-DDTHH:mm:ssZ",n=v.z(this),a=this.$H,i=this.$m,u=this.$M,o=r.weekdays,l=r.months,h=r.meridiem,f=function(e,r,n,a){return e&&(e[r]||e(t,s))||n[r].slice(0,a)},p=function(e){return v.s(a%12||12,e,"0")},y=h||function(e,t,r){var s=e<12?"AM":"PM";return r?s.toLowerCase():s};return s.replace(d,function(e,s){return s||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return u+1;case"MM":return v.s(u+1,2,"0");case"MMM":return f(r.monthsShort,u,l,3);case"MMMM":return f(l,u);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(r.weekdaysMin,t.$W,o,2);case"ddd":return f(r.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(a);case"HH":return v.s(a,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return y(a,i,!0);case"A":return y(a,i,!1);case"m":return String(i);case"mm":return v.s(i,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(e,o,c){var l,d=this,h=v.p(o),f=m(e),p=(f.utcOffset()-this.utcOffset())*6e4,y=this-f,$=function(){return v.m(d,f)};switch(h){case u:l=$()/12;break;case a:l=$();break;case i:l=$()/3;break;case n:l=(y-p)/6048e5;break;case"day":l=(y-p)/864e5;break;case s:l=y/36e5;break;case r:l=y/6e4;break;case t:l=y/1e3;break;default:l=y}return c?l:v.a(l)},f.daysInMonth=function(){return this.endOf(a).$D},f.$locale=function(){return p[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),s=g(e,t,!0);return s&&(r.$L=s),r},f.clone=function(){return v.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},h}(),M=x.prototype;return m.prototype=M,[["$ms",e],["$s",t],["$m",r],["$H",s],["$W","day"],["$M",a],["$y",u],["$D",o]].forEach(function(e){M[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),m.extend=function(e,t){return e.$i||(e(t,x,m),e.$i=!0),m},m.locale=g,m.isDayjs=$,m.unix=function(e){return m(1e3*e)},m.en=p[f],m.Ls=p,m.p={},m}()},7651,e=>{"use strict";e.s(["buildOpenaiClient",()=>s]);var t=e.i(9717),r=e.i(11582);let s=({modelProvider:e})=>(0,r.supercompat)({client:(0,t.clientAdapter)({modelProvider:e})})},43e3,e=>{"use strict";e.s([])},93814,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__06ad8d00._.js"].map(t=>e.l(t))).then(()=>t(50213)))},70729,e=>{e.v(e=>Promise.resolve().then(()=>e(66680)))}];
|
|
1
|
+
module.exports=[14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},45027,77009,e=>{"use strict";e.s(["getMcpServerLabel",()=>r],45027),e.s(["normalizeMcpServerName",()=>t],77009);let t=e=>e.replace(/[^a-zA-Z0-9-]/g,"-"),r=({id:e,name:r})=>{if(r){let e=t(r);if(e)return e}return`mcp-server-${e}`}},9949,e=>{"use strict";e.s(["workspaceAccessWhere",()=>s]);var t=e.i(29173),r=e.i(88122);let s=async({publicApiKey:e,prisma:s})=>{let n=await (0,r.getApiKey)({authorization:e?`Bearer ${e}`:null,type:t.ApiKeyType.PUBLIC,prisma:s});return n?{apiKeys:{some:{id:n.id}}}:null}},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},65074,e=>{"use strict";e.s(["TaskScheduleConflictError",()=>r,"ValidationError",()=>t]);class t extends Error{static defaultMessage="Validation failed.";constructor(e=t.defaultMessage){super(e),this.name=this.constructor.name}}class r extends t{static defaultMessage="Tasks sharing a key and thread must be scheduled at least 15 minutes apart.";constructor(e=r.defaultMessage){super(e)}}},29325,e=>{"use strict";e.s(["cancelScheduledTask",()=>r]);var t=e.i(30021);let r=async({task:e})=>{if(e.qstashMessageId)try{await t.qstash.messages.delete(e.qstashMessageId)}catch(e){console.error("Failed to cancel scheduled task:",e)}}},85516,e=>{"use strict";e.s(["createTaskSchema",()=>r,"createTaskToolSchema",()=>s,"deleteTaskSchema",()=>i,"listTasksSchema",()=>a,"updateTaskSchema",()=>n]);var t=e.i(13669);let r=t.z.object({title:t.z.string(),message:t.z.string(),schedule:t.z.any(),threadId:t.z.string(),key:t.z.string().optional()}),s=r.omit({threadId:!0}),n=t.z.object({taskId:t.z.string(),title:t.z.string().optional(),message:t.z.string().optional(),schedule:t.z.any().optional(),key:t.z.string().optional()}),i=t.z.object({taskId:t.z.string()}),a=t.z.object({})},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},20635,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/action-async-storage.external.js",()=>require("next/dist/server/app-render/action-async-storage.external.js"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},30611,e=>{"use strict";e.s(["cacheHeaders",()=>t]);let t={"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Headers":"Content-Type, Authorization, X-Requested-With, Accept"}},88122,e=>{"use strict";e.s(["getApiKey",()=>r]);var t=e.i(55897);let r=async({authorization:e,type:r,prisma:s})=>{if(!e)return null;let[,n]=e.split("Bearer ");return(0,t.validate)(n)?s.apiKey.findFirst({where:{type:r,value:n}}):null}},75247,e=>{"use strict";e.s(["isArray",()=>t,"isEmpty",()=>u,"isFunction",()=>n,"isObject",()=>r,"isPrimitive",()=>s,"isString",()=>i]);let t=Array.isArray,r=e=>!!e&&e.constructor===Object,s=e=>null==e||"object"!=typeof e&&"function"!=typeof e,n=e=>!!(e&&e.constructor&&e.call&&e.apply),i=e=>"string"==typeof e||e instanceof String,a=e=>{try{return Number(e)===e}catch{return!1}},u=e=>{if(!0===e||!1===e||null==e)return!0;if(a(e))return 0===e;if("[object Date]"===Object.prototype.toString.call(e))return isNaN(e.getTime());if(n(e)||(e=>!!e&&e.constructor===Symbol)(e))return!1;let t=e.length;if(a(t))return 0===t;let r=e.size;return a(r)?0===r:0===Object.keys(e).length}},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},66680,(e,t,r)=>{t.exports=e.x("node:crypto",()=>require("node:crypto"))},56512,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",s="hour",n="week",i="month",a="quarter",u="year",o="date",c="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,r){var s=String(e);return!s||s.length>=t?e:""+Array(t+1-s.length).join(r)+e},f="en",p={};p[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var y="$isDayjsObject",$=function(e){return e instanceof x||!(!e||!e[y])},g=function e(t,r,s){var n;if(!t)return f;if("string"==typeof t){var i=t.toLowerCase();p[i]&&(n=i),r&&(p[i]=r,n=i);var a=t.split("-");if(!n&&a.length>1)return e(a[0])}else{var u=t.name;p[u]=t,n=u}return!s&&n&&(f=n),n||!s&&f},m=function(e,t){if($(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new x(r)},v={s:h,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(r/60),2,"0")+":"+h(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var s=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(s,i),a=r-n<0,u=t.clone().add(s+(a?-1:1),i);return+(-(s+(r-n)/(a?n-u:u-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:u,w:n,d:"day",D:o,h:s,m:r,s:t,ms:e,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};v.l=g,v.i=$,v.w=function(e,t){return m(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var x=function(){function h(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[y]=!0}var f=h.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(v.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var s=t.match(l);if(s){var n=s[2]-1||0,i=(s[7]||"0").substring(0,3);return r?new Date(Date.UTC(s[1],n,s[3]||1,s[4]||0,s[5]||0,s[6]||0,i)):new Date(s[1],n,s[3]||1,s[4]||0,s[5]||0,s[6]||0,i)}}return new Date(t)}(e),this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return v},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(e,t){var r=m(e);return this.startOf(t)<=r&&r<=this.endOf(t)},f.isAfter=function(e,t){return m(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<m(e)},f.$g=function(e,t,r){return v.u(e)?this[t]:this.set(r,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,a){var c=this,l=!!v.u(a)||a,d=v.p(e),h=function(e,t){var r=v.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return l?r:r.endOf("day")},f=function(e,t){return v.w(c.toDate()[e].apply(c.toDate("s"),(l?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},p=this.$W,y=this.$M,$=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case u:return l?h(1,0):h(31,11);case i:return l?h(1,y):h(0,y+1);case n:var m=this.$locale().weekStart||0,x=(p<m?p+7:p)-m;return h(l?$-x:$+(6-x),y);case"day":case o:return f(g+"Hours",0);case s:return f(g+"Minutes",1);case r:return f(g+"Seconds",2);case t:return f(g+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(n,a){var c,l=v.p(n),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[i]=d+"Month",c[u]=d+"FullYear",c[s]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[l],f="day"===l?this.$D+(a-this.$W):a;if(l===i||l===u){var p=this.clone().set(o,1);p.$d[h](f),p.init(),this.$d=p.set(o,Math.min(this.$D,p.daysInMonth())).$d}else h&&this.$d[h](f);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[v.p(e)]()},f.add=function(e,a){var o,c=this;e=Number(e);var l=v.p(a),d=function(t){var r=m(c);return v.w(r.date(r.date()+Math.round(t*e)),c)};if(l===i)return this.set(i,this.$M+e);if(l===u)return this.set(u,this.$y+e);if("day"===l)return d(1);if(l===n)return d(7);var h=((o={})[r]=6e4,o[s]=36e5,o[t]=1e3,o)[l]||1,f=this.$d.getTime()+e*h;return v.w(f,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var s=e||"YYYY-MM-DDTHH:mm:ssZ",n=v.z(this),i=this.$H,a=this.$m,u=this.$M,o=r.weekdays,l=r.months,h=r.meridiem,f=function(e,r,n,i){return e&&(e[r]||e(t,s))||n[r].slice(0,i)},p=function(e){return v.s(i%12||12,e,"0")},y=h||function(e,t,r){var s=e<12?"AM":"PM";return r?s.toLowerCase():s};return s.replace(d,function(e,s){return s||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return v.s(t.$y,4,"0");case"M":return u+1;case"MM":return v.s(u+1,2,"0");case"MMM":return f(r.monthsShort,u,l,3);case"MMMM":return f(l,u);case"D":return t.$D;case"DD":return v.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(r.weekdaysMin,t.$W,o,2);case"ddd":return f(r.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(i);case"HH":return v.s(i,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return y(i,a,!0);case"A":return y(i,a,!1);case"m":return String(a);case"mm":return v.s(a,2,"0");case"s":return String(t.$s);case"ss":return v.s(t.$s,2,"0");case"SSS":return v.s(t.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(e,o,c){var l,d=this,h=v.p(o),f=m(e),p=(f.utcOffset()-this.utcOffset())*6e4,y=this-f,$=function(){return v.m(d,f)};switch(h){case u:l=$()/12;break;case i:l=$();break;case a:l=$()/3;break;case n:l=(y-p)/6048e5;break;case"day":l=(y-p)/864e5;break;case s:l=y/36e5;break;case r:l=y/6e4;break;case t:l=y/1e3;break;default:l=y}return c?l:v.a(l)},f.daysInMonth=function(){return this.endOf(i).$D},f.$locale=function(){return p[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),s=g(e,t,!0);return s&&(r.$L=s),r},f.clone=function(){return v.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},h}(),M=x.prototype;return m.prototype=M,[["$ms",e],["$s",t],["$m",r],["$H",s],["$W","day"],["$M",i],["$y",u],["$D",o]].forEach(function(e){M[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),m.extend=function(e,t){return e.$i||(e(t,x,m),e.$i=!0),m},m.locale=g,m.isDayjs=$,m.unix=function(e){return m(1e3*e)},m.en=p[f],m.Ls=p,m.p={},m}()},7651,e=>{"use strict";e.s(["buildOpenaiClient",()=>s]);var t=e.i(9717),r=e.i(11582);let s=({modelProvider:e})=>(0,r.supercompat)({client:(0,t.clientAdapter)({modelProvider:e})})},43e3,e=>{"use strict";e.s([])},93814,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__06ad8d00._.js"].map(t=>e.l(t))).then(()=>t(50213)))},70729,e=>{e.v(e=>Promise.resolve().then(()=>e(66680)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__e8127a36._.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/normalizeMcpServerName.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/getMcpServerLabel.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/workspaceAccessWhere.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/errors/index.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/tasks/cancelScheduledTask.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/tasks/schemas.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/cache/cacheHeaders.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/getApiKey.ts","turbopack:///[project]/supercorp/superinterface/node_modules/radash/src/typed.ts","turbopack:///[project]/supercorp/superinterface/node_modules/dayjs/dayjs.min.js","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/modelProviders/buildOpenaiClient.ts"],"sourcesContent":["export const normalizeMcpServerName = (name: string) =>\n name.replace(/[^a-zA-Z0-9-]/g, '-')\n","import { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const getMcpServerLabel = ({\n id,\n name,\n}: {\n id: string\n name: string | null | undefined\n}) => {\n if (name) {\n const normalized = normalizeMcpServerName(name)\n if (normalized) {\n return normalized\n }\n }\n\n return `mcp-server-${id}`\n}\n","import { ApiKeyType, type PrismaClient } from '@prisma/client'\nimport { getApiKey } from './getApiKey'\n\nexport const workspaceAccessWhere = async ({\n publicApiKey,\n prisma,\n}: {\n publicApiKey: string | null\n prisma: PrismaClient\n}) => {\n const apiKey = await getApiKey({\n authorization: publicApiKey ? `Bearer ${publicApiKey}` : null,\n type: ApiKeyType.PUBLIC,\n prisma,\n })\n\n if (!apiKey) return null\n\n return {\n apiKeys: {\n some: { id: apiKey.id },\n },\n }\n}\n","export class ValidationError extends Error {\n static defaultMessage = 'Validation failed.'\n\n constructor(message: string = ValidationError.defaultMessage) {\n super(message)\n this.name = this.constructor.name\n }\n}\n\nexport class TaskScheduleConflictError extends ValidationError {\n static defaultMessage =\n 'Tasks sharing a key and thread must be scheduled at least 15 minutes apart.'\n\n constructor(message: string = TaskScheduleConflictError.defaultMessage) {\n super(message)\n }\n}\n\nexport const publicErrors = [ValidationError, TaskScheduleConflictError]\n","import { qstash } from '@/lib/upstash/qstash'\nimport { type Task } from '@prisma/client'\n\nexport const cancelScheduledTask = async ({ task }: { task: Task }) => {\n if (!task.qstashMessageId) return\n if (process.env.NODE_ENV === 'test') return\n\n try {\n await qstash.messages.delete(task.qstashMessageId)\n } catch (error) {\n console.error('Failed to cancel scheduled task:', error)\n }\n}\n","import { z } from 'zod'\n\nexport const createTaskSchema = z.object({\n title: z.string(),\n message: z.string(),\n schedule: z.any(),\n threadId: z.string(),\n key: z.string().optional(),\n})\n\nexport const createTaskToolSchema = createTaskSchema.omit({ threadId: true })\n\nexport const updateTaskSchema = z.object({\n taskId: z.string(),\n title: z.string().optional(),\n message: z.string().optional(),\n schedule: z.any().optional(),\n key: z.string().optional(),\n})\n\nexport const deleteTaskSchema = z.object({\n taskId: z.string(),\n})\n\nexport const listTasksSchema = z.object({})\n","export const cacheHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers': 'Content-Type',\n}\n","import { ApiKeyType, ApiKey, type PrismaClient } from '@prisma/client'\nimport { validate } from 'uuid'\n\nexport const getApiKey = async ({\n authorization,\n type,\n prisma,\n}: {\n authorization: string | null\n type: ApiKeyType\n prisma: PrismaClient\n}): Promise<ApiKey | null> => {\n if (!authorization) {\n return null\n }\n\n const [, apiKeyValue] = authorization.split('Bearer ')\n\n if (!validate(apiKeyValue)) {\n return null\n }\n\n return prisma.apiKey.findFirst({\n where: { type, value: apiKeyValue },\n })\n}\n","export const isSymbol = (value: any): value is symbol => {\n return !!value && value.constructor === Symbol\n}\n\nexport const isArray = Array.isArray\n\nexport const isObject = (value: any): value is object => {\n return !!value && value.constructor === Object\n}\n\n/**\n * Checks if the given value is primitive.\n *\n * Primitive Types: number , string , boolean , symbol, bigint, undefined, null\n *\n * @param {*} value value to check\n * @returns {boolean} result\n */\nexport const isPrimitive = (value: any): boolean => {\n return (\n value === undefined ||\n value === null ||\n (typeof value !== 'object' && typeof value !== 'function')\n )\n}\n\nexport const isFunction = (value: any): value is Function => {\n return !!(value && value.constructor && value.call && value.apply)\n}\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string' || value instanceof String\n}\n\nexport const isInt = (value: any): value is number => {\n return isNumber(value) && value % 1 === 0\n}\n\nexport const isFloat = (value: any): value is number => {\n return isNumber(value) && value % 1 !== 0\n}\n\nexport const isNumber = (value: any): value is number => {\n try {\n return Number(value) === value\n } catch {\n return false\n }\n}\n\nexport const isDate = (value: any): value is Date => {\n return Object.prototype.toString.call(value) === '[object Date]'\n}\n\n/**\n * This is really a _best guess_ promise checking. You\n * should probably use Promise.resolve(value) to be 100%\n * sure you're handling it correctly.\n */\nexport const isPromise = (value: any): value is Promise<any> => {\n if (!value) return false\n if (!value.then) return false\n if (!isFunction(value.then)) return false\n return true\n}\n\nexport const isEmpty = (value: any) => {\n if (value === true || value === false) return true\n if (value === null || value === undefined) return true\n if (isNumber(value)) return value === 0\n if (isDate(value)) return isNaN(value.getTime())\n if (isFunction(value)) return false\n if (isSymbol(value)) return false\n const length = (value as any).length\n if (isNumber(length)) return length === 0\n const size = (value as any).size\n if (isNumber(size)) return size === 0\n const keys = Object.keys(value).length\n return keys === 0\n}\n\nexport const isEqual = <TType>(x: TType, y: TType): boolean => {\n if (Object.is(x, y)) return true\n if (x instanceof Date && y instanceof Date) {\n return x.getTime() === y.getTime()\n }\n if (x instanceof RegExp && y instanceof RegExp) {\n return x.toString() === y.toString()\n }\n if (\n typeof x !== 'object' ||\n x === null ||\n typeof y !== 'object' ||\n y === null\n ) {\n return false\n }\n const keysX = Reflect.ownKeys(x as unknown as object) as (keyof typeof x)[]\n const keysY = Reflect.ownKeys(y as unknown as object)\n if (keysX.length !== keysY.length) return false\n for (let i = 0; i < keysX.length; i++) {\n if (!Reflect.has(y as unknown as object, keysX[i])) return false\n if (!isEqual(x[keysX[i]], y[keysX[i]])) return false\n }\n return true\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { ModelProvider } from '@prisma/client'\nimport { clientAdapter } from '@/lib/modelProviders/clientAdapter'\nimport { supercompat } from 'supercompat'\n\nexport const buildOpenaiClient = ({\n modelProvider,\n}: {\n modelProvider: ModelProvider\n}) =>\n supercompat({\n client: clientAdapter({\n modelProvider,\n }),\n })\n"],"names":[],"mappings":"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","ignoreList":[9]}
|
|
1
|
+
{"version":3,"sources":["turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/normalizeMcpServerName.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/mcpServers/getMcpServerLabel.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/workspaceAccessWhere.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/errors/index.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/tasks/cancelScheduledTask.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/tasks/schemas.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/cache/cacheHeaders.ts","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/apiKeys/getApiKey.ts","turbopack:///[project]/supercorp/superinterface/node_modules/radash/src/typed.ts","turbopack:///[project]/supercorp/superinterface/node_modules/dayjs/dayjs.min.js","turbopack:///[project]/supercorp/superinterface/packages/server/src/lib/modelProviders/buildOpenaiClient.ts"],"sourcesContent":["export const normalizeMcpServerName = (name: string) =>\n name.replace(/[^a-zA-Z0-9-]/g, '-')\n","import { normalizeMcpServerName } from '@/lib/mcpServers/normalizeMcpServerName'\n\nexport const getMcpServerLabel = ({\n id,\n name,\n}: {\n id: string\n name: string | null | undefined\n}) => {\n if (name) {\n const normalized = normalizeMcpServerName(name)\n if (normalized) {\n return normalized\n }\n }\n\n return `mcp-server-${id}`\n}\n","import { ApiKeyType, type PrismaClient } from '@prisma/client'\nimport { getApiKey } from './getApiKey'\n\nexport const workspaceAccessWhere = async ({\n publicApiKey,\n prisma,\n}: {\n publicApiKey: string | null\n prisma: PrismaClient\n}) => {\n const apiKey = await getApiKey({\n authorization: publicApiKey ? `Bearer ${publicApiKey}` : null,\n type: ApiKeyType.PUBLIC,\n prisma,\n })\n\n if (!apiKey) return null\n\n return {\n apiKeys: {\n some: { id: apiKey.id },\n },\n }\n}\n","export class ValidationError extends Error {\n static defaultMessage = 'Validation failed.'\n\n constructor(message: string = ValidationError.defaultMessage) {\n super(message)\n this.name = this.constructor.name\n }\n}\n\nexport class TaskScheduleConflictError extends ValidationError {\n static defaultMessage =\n 'Tasks sharing a key and thread must be scheduled at least 15 minutes apart.'\n\n constructor(message: string = TaskScheduleConflictError.defaultMessage) {\n super(message)\n }\n}\n\nexport const publicErrors = [ValidationError, TaskScheduleConflictError]\n","import { qstash } from '@/lib/upstash/qstash'\nimport { type Task } from '@prisma/client'\n\nexport const cancelScheduledTask = async ({ task }: { task: Task }) => {\n if (!task.qstashMessageId) return\n if (process.env.NODE_ENV === 'test') return\n\n try {\n await qstash.messages.delete(task.qstashMessageId)\n } catch (error) {\n console.error('Failed to cancel scheduled task:', error)\n }\n}\n","import { z } from 'zod'\n\nexport const createTaskSchema = z.object({\n title: z.string(),\n message: z.string(),\n schedule: z.any(),\n threadId: z.string(),\n key: z.string().optional(),\n})\n\nexport const createTaskToolSchema = createTaskSchema.omit({ threadId: true })\n\nexport const updateTaskSchema = z.object({\n taskId: z.string(),\n title: z.string().optional(),\n message: z.string().optional(),\n schedule: z.any().optional(),\n key: z.string().optional(),\n})\n\nexport const deleteTaskSchema = z.object({\n taskId: z.string(),\n})\n\nexport const listTasksSchema = z.object({})\n","export const cacheHeaders = {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',\n 'Access-Control-Allow-Headers':\n 'Content-Type, Authorization, X-Requested-With, Accept',\n}\n","import { ApiKeyType, ApiKey, type PrismaClient } from '@prisma/client'\nimport { validate } from 'uuid'\n\nexport const getApiKey = async ({\n authorization,\n type,\n prisma,\n}: {\n authorization: string | null\n type: ApiKeyType\n prisma: PrismaClient\n}): Promise<ApiKey | null> => {\n if (!authorization) {\n return null\n }\n\n const [, apiKeyValue] = authorization.split('Bearer ')\n\n if (!validate(apiKeyValue)) {\n return null\n }\n\n return prisma.apiKey.findFirst({\n where: { type, value: apiKeyValue },\n })\n}\n","export const isSymbol = (value: any): value is symbol => {\n return !!value && value.constructor === Symbol\n}\n\nexport const isArray = Array.isArray\n\nexport const isObject = (value: any): value is object => {\n return !!value && value.constructor === Object\n}\n\n/**\n * Checks if the given value is primitive.\n *\n * Primitive Types: number , string , boolean , symbol, bigint, undefined, null\n *\n * @param {*} value value to check\n * @returns {boolean} result\n */\nexport const isPrimitive = (value: any): boolean => {\n return (\n value === undefined ||\n value === null ||\n (typeof value !== 'object' && typeof value !== 'function')\n )\n}\n\nexport const isFunction = (value: any): value is Function => {\n return !!(value && value.constructor && value.call && value.apply)\n}\n\nexport const isString = (value: any): value is string => {\n return typeof value === 'string' || value instanceof String\n}\n\nexport const isInt = (value: any): value is number => {\n return isNumber(value) && value % 1 === 0\n}\n\nexport const isFloat = (value: any): value is number => {\n return isNumber(value) && value % 1 !== 0\n}\n\nexport const isNumber = (value: any): value is number => {\n try {\n return Number(value) === value\n } catch {\n return false\n }\n}\n\nexport const isDate = (value: any): value is Date => {\n return Object.prototype.toString.call(value) === '[object Date]'\n}\n\n/**\n * This is really a _best guess_ promise checking. You\n * should probably use Promise.resolve(value) to be 100%\n * sure you're handling it correctly.\n */\nexport const isPromise = (value: any): value is Promise<any> => {\n if (!value) return false\n if (!value.then) return false\n if (!isFunction(value.then)) return false\n return true\n}\n\nexport const isEmpty = (value: any) => {\n if (value === true || value === false) return true\n if (value === null || value === undefined) return true\n if (isNumber(value)) return value === 0\n if (isDate(value)) return isNaN(value.getTime())\n if (isFunction(value)) return false\n if (isSymbol(value)) return false\n const length = (value as any).length\n if (isNumber(length)) return length === 0\n const size = (value as any).size\n if (isNumber(size)) return size === 0\n const keys = Object.keys(value).length\n return keys === 0\n}\n\nexport const isEqual = <TType>(x: TType, y: TType): boolean => {\n if (Object.is(x, y)) return true\n if (x instanceof Date && y instanceof Date) {\n return x.getTime() === y.getTime()\n }\n if (x instanceof RegExp && y instanceof RegExp) {\n return x.toString() === y.toString()\n }\n if (\n typeof x !== 'object' ||\n x === null ||\n typeof y !== 'object' ||\n y === null\n ) {\n return false\n }\n const keysX = Reflect.ownKeys(x as unknown as object) as (keyof typeof x)[]\n const keysY = Reflect.ownKeys(y as unknown as object)\n if (keysX.length !== keysY.length) return false\n for (let i = 0; i < keysX.length; i++) {\n if (!Reflect.has(y as unknown as object, keysX[i])) return false\n if (!isEqual(x[keysX[i]], y[keysX[i]])) return false\n }\n return true\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","import { ModelProvider } from '@prisma/client'\nimport { clientAdapter } from '@/lib/modelProviders/clientAdapter'\nimport { supercompat } from 'supercompat'\n\nexport const buildOpenaiClient = ({\n modelProvider,\n}: {\n modelProvider: ModelProvider\n}) =>\n supercompat({\n client: clientAdapter({\n modelProvider,\n }),\n })\n"],"names":[],"mappings":"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","ignoreList":[9]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[86719,e=>{"use strict";e.s(["handler",()=>et,"patchFetch",()=>ee,"routeModule",()=>J,"serverHooks",()=>Y,"workAsyncStorage",()=>Z,"workUnitAsyncStorage",()=>Q],86719);var t=e.i(5865),a=e.i(43877),s=e.i(77767),r=e.i(92562),o=e.i(66256),n=e.i(5270),i=e.i(90231),d=e.i(82677),l=e.i(51081),u=e.i(89822),c=e.i(9124),p=e.i(39147),g=e.i(40568),R=e.i(87188),h=e.i(93695);e.i(57132);var v=e.i(80739);e.s(["GET",()=>B,"OPTIONS",()=>V,"POST",()=>W,"maxDuration",()=>K],26738),e.s(["GET",()=>B,"OPTIONS",()=>V,"POST",()=>W],58409);var m=e.i(24493),w=e.i(49493),S=e.i(29173),E=e.i(50498),T=e.i(91450),I=e.i(30611),f=e.i(13669),L=e.i(14554),q=e.i(95690);e.i(97691);var y=e.i(67775),P=e.i(7651),A=e.i(75247);let M=async({textContent:e,audioContent:t,assistant:a})=>{if(e)return e;if(t){let e=a.workspace.modelProviders.find(e=>e.type===S.ModelProviderType.OPENAI);if(!e?.apiKey)throw Error("No OpenAI API key found");let s=(0,P.buildOpenaiClient)({modelProvider:e}),r=t.split(",")[1];if((0,A.isEmpty)(r))return"-";let o=Buffer.from(r,"base64"),n=await (0,y.toFile)(o,"message.mp3");return(await s.audio.transcriptions.create({file:n,model:"whisper-1"})).text}throw Error("No content found")};var O=e.i(9949),N=e.i(56512),x=e.i(9394),k=e.i(38372);let C=async({assistant:e})=>{let t=(0,T.optimisticId)(),a=(0,N.default)().unix();return{data:await Promise.all(e.initialMessages.map(async(s,r)=>(0,T.serializeMessage)({message:{id:(0,T.optimisticId)(),role:s.role.toLowerCase(),created_at:a-r-1,object:"thread.message",content:[{type:"text",text:{annotations:[],value:s.content}}],run_id:null,assistant_id:s.role===S.MessageRole.ASSISTANT?(({assistant:e})=>{if((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:e.storageProviderType}))return e.openaiAssistantId;if((0,k.isResponsesStorageProvider)({storageProviderType:e.storageProviderType})||e.storageProviderType===S.StorageProviderType.SUPERINTERFACE_CLOUD)return e.id;throw Error("Invalid storage type")})({assistant:e}):null,thread_id:t,attachments:s.attachments,metadata:s.metadata,completed_at:a-r-1,incomplete_at:null,incomplete_details:null,status:"completed",runSteps:[]}}))),hasNextPage:!1,lastId:null}};var b=e.i(58011),j=e.i(39713),_=e.i(96227),H=e.i(57623),F=e.i(18527);let G=async({workspaceAccessWhere:e,prisma:t})=>(await t.workspace.findFirst({where:e})).id;var U=e.i(55897);let $=({threadId:e})=>e&&(0,U.validate)(e)?e:"00000000-0000-0000-0000-000000000000";var z=e.i(10671);let D=({error:e})=>e instanceof Error?`${e.message}${(({error:e})=>e.cause instanceof Error?` ${e.cause.message}`:e.cause?` ${e.cause}`:"")({error:e})}`:String(e),K=800,B=(({prisma:e})=>async t=>{let a=f.z.object({publicApiKey:f.z.string().optional(),assistantId:f.z.string().optional(),threadId:f.z.string().optional(),pageParam:f.z.string().optional()}).parse(Object.fromEntries(t.nextUrl.searchParams.entries())),s=await (0,O.workspaceAccessWhere)({publicApiKey:a.publicApiKey??null,prisma:e});if(!s)return w.NextResponse.json({error:"Invalid api key"},{status:400});let r=a.assistantId;if(!r)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistantId found.",workspaceId:await G({workspaceAccessWhere:s,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant id found"},{status:400});let{threadId:o,pageParam:n}=a,i=await e.assistant.findFirst({where:{id:r,workspace:s},include:{threads:{where:{id:$({threadId:o??null})},take:1,include:{assistant:{select:{storageProviderType:!0}}}},workspace:{include:{modelProviders:!0}},modelProvider:!0,initialMessages:{orderBy:{orderNumber:"desc"}},mcpServers:{include:{computerUseTool:!0,stdioTransport:!0,sseTransport:!0,httpTransport:!0}},tools:{include:{fileSearchTool:!0,webSearchTool:!0,imageGenerationTool:!0,codeInterpreterTool:!0,computerUseTool:!0}},functions:!0}});if(!i)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistant found.",workspaceId:await G({workspaceAccessWhere:s,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant found"},{status:400});if(!o)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});let d=i.threads[0];if(!d)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});let l=(0,q.assistantClientAdapter)({assistant:i,prisma:e,thread:d}),u=(0,L.storageThreadId)({thread:d});if(!u)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});try{return w.NextResponse.json(await (0,E.messagesResponse)({threadId:u,client:l,...n?{pageParam:n}:{}}),{headers:I.cacheHeaders})}catch(t){return console.dir({error:t},{depth:null}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.GET,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to load messages: ${t.message}`,workspaceId:i.workspaceId,assistantId:i.id,threadId:d.id},prisma:e}),w.NextResponse.json({error:"Failed to load messages."},{status:500})}})({prisma:m.prisma}),W=(({prisma:e,onSuccessCreateThread:t=()=>void 0})=>async a=>{let s,r,o,n=f.z.object({audioContent:f.z.any().optional(),content:f.z.any().optional(),attachments:f.z.array(f.z.any()).optional(),assistantId:f.z.string().optional(),publicApiKey:f.z.string().optional(),threadId:f.z.string().optional()}).passthrough().parse(await a.json()),{audioContent:i,content:d,attachments:l,assistantId:u,publicApiKey:c,...p}=n,g=await (0,O.workspaceAccessWhere)({publicApiKey:c??null,prisma:e});if(!g)return w.NextResponse.json({error:"Invalid api key"},{status:400});if(!u)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistantId found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistantId found."},{status:400});if(!d&&!i&&!l?.length)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No content found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No content found."},{status:400});let R=await e.assistant.findFirst({where:{id:u,workspace:g},include:{threads:{where:{id:$({threadId:n.threadId??null})},include:{assistant:{select:{storageProviderType:!0}}},take:1},workspace:{include:{modelProviders:!0}},mcpServers:{include:{computerUseTool:!0,stdioTransport:!0,sseTransport:!0,httpTransport:!0}},tools:{include:{fileSearchTool:!0,webSearchTool:!0,imageGenerationTool:!0,codeInterpreterTool:!0,computerUseTool:{include:{mcpServer:{include:{stdioTransport:!0,sseTransport:!0,httpTransport:!0}}}}}},functions:{include:{handler:{include:{requestHandler:!0,firecrawlHandler:!0,replicateHandler:!0,clientToolHandler:!0,assistantHandler:!0,createTaskHandler:!0,listTasksHandler:!0,updateTaskHandler:!0,deleteTaskHandler:!0}}}},modelProvider:!0,initialMessages:{orderBy:{orderNumber:"asc"}}}});if(!R)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistant found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant found."},{status:400});if((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})&&!R.openaiAssistantId)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"Assistant setup is not done.",workspaceId:R.workspaceId,assistantId:R.id},prisma:e}),w.NextResponse.json({error:"Assistant setup is not done."},{status:400});let h=R.threads[0],v=!1;if(!h){let a=(0,q.assistantClientAdapter)({assistant:R,prisma:e});try{h=await (0,_.createThread)({client:a,assistant:R,prisma:e,variables:p}),t({thread:h})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create thread: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id},prisma:e}),w.NextResponse.json({error:"Failed to create thread."},{status:500})}v=!0}try{s=(0,L.storageThreadId)({thread:h})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:"Failed to get storage thread id.",workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get storage thread id."},{status:500})}if(!s&&((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})||(0,k.isResponsesStorageProvider)({storageProviderType:R.storageProviderType})))try{s=await (0,H.managedOpenaiThreadId)({assistant:R,threadId:h.id,prisma:e})}catch(t){return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to get managed openai thread id: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get managed openai thread id."},{status:500})}if(!s)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:"Invalid thread configuration.",workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Invalid thread configuration."},{status:500});try{r=await M({audioContent:i,textContent:d,assistant:R})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to get content: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get content."},{status:500})}let m=(0,q.assistantClientAdapter)({assistant:R,prisma:e,thread:h});try{await m.beta.threads.messages.create(s,{role:"user",content:r,...l?.length?{attachments:l}:{},metadata:(0,z.serializeMetadata)({variables:p,workspaceId:R.workspaceId,prisma:e})})}catch(t){return console.log({error:t}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create message: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to create message."},{status:500})}try{o=await m.beta.threads.runs.create(s,await (0,b.createRunOpts)({assistant:R,thread:h,prisma:e}))}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create run stream: ${D({error:t})}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to create run stream."},{status:500})}let I=null,y=null;return new Response((0,E.createMessageResponse)({client:m,createRunStream:o,handleToolCall:(0,j.handleToolCall)({assistant:R,thread:h,prisma:e}),onStart:({controller:e})=>{if(v)return(0,T.enqueueJson)({controller:e,value:{event:"thread.created",data:(({thread:e})=>({id:(0,L.storageThreadId)({thread:e}),object:"thread",created_at:(0,N.default)(e.createdAt).unix(),metadata:e.metadata}))({thread:h})}})},onError:async({error:t})=>{a.signal.aborted||(console.dir({error:t},{depth:null}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Thread Run failed: ${D({error:t})}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}))},onEvent:({event:t,data:a})=>{"thread.run.failed"===t?(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Thread Run failed: ${a.last_error?.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}):"thread.run.in_progress"===t?I=a:"thread.run.completed"===t&&(y=a)},onClose:async()=>{!y&&(0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})&&I&&await m.beta.threads.runs.cancel(I.id,{thread_id:I.thread_id})}}),{status:200,headers:{"Content-Type":"application/json; charset=utf-8"}})})({prisma:m.prisma}),V=()=>w.NextResponse.json({},{headers:I.cacheHeaders});e.i(58409);var X=e.i(26738);let J=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/messages/route",pathname:"/api/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/supercorp/superinterface/packages/server/src/app/api/messages/route.ts",nextConfigOutput:"",userland:X}),{workAsyncStorage:Z,workUnitAsyncStorage:Q,serverHooks:Y}=J;function ee(){return(0,s.patchFetch)({workAsyncStorage:Z,workUnitAsyncStorage:Q})}async function et(e,t,s){var m;let w="/api/messages/route";w=w.replace(/\/index$/,"")||"/";let S=await J.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:E,params:T,nextConfig:I,isDraftMode:f,prerenderManifest:L,routerServerContext:q,isOnDemandRevalidate:y,revalidateOnlyGenerated:P,resolvedPathname:A}=S,M=(0,n.normalizeAppPath)(w),O=!!(L.dynamicRoutes[M]||L.routes[A]);if(O&&!f){let e=!!L.routes[A],t=L.dynamicRoutes[M];if(t&&!1===t.fallback&&!e)throw new h.NoFallbackError}let N=null;!O||J.isDev||f||(N="/index"===(N=A)?"/":N);let x=!0===J.isDev||!O,k=O&&!x,C=e.method||"GET",b=(0,o.getTracer)(),j=b.getActiveScopeSpan(),_={params:T,prerenderManifest:L,renderOpts:{experimental:{cacheComponents:!!I.experimental.cacheComponents,authInterrupts:!!I.experimental.authInterrupts},supportsDynamicResponse:x,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:null==(m=I.experimental)?void 0:m.cacheLife,isRevalidate:k,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s)=>J.onRequestError(e,t,s,q)},sharedContext:{buildId:E}},H=new i.NodeNextRequest(e),F=new i.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let n=async a=>J.handle(G,_).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=b.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let e=`${C} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":e}),a.updateName(e)}else a.updateName(`${C} ${e.url}`)}),i=async o=>{var i,d;let l=async({previousCacheEntry:a})=>{try{if(!(0,r.getRequestMeta)(e,"minimalMode")&&y&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(o);e.fetchMetrics=_.renderOpts.fetchMetrics;let d=_.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let l=_.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(H,F,i,_.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==_.renderOpts.collectedRevalidate&&!(_.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&_.renderOpts.collectedRevalidate,s=void 0===_.renderOpts.collectedExpire||_.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:_.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==a?void 0:a.isStale)&&await J.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isRevalidate:k,isOnDemandRevalidate:y})},q),t}},h=await J.handleResponse({req:e,nextConfig:I,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:y,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:s.waitUntil});if(!O)return null;if((null==h||null==(i=h.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==h||null==(d=h.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,r.getRequestMeta)(e,"minimalMode")||t.setHeader("x-nextjs-cache",y?"REVALIDATED":h.isMiss?"MISS":h.isStale?"STALE":"HIT"),f&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(h.value.headers);return(0,r.getRequestMeta)(e,"minimalMode")&&O||m.delete(R.NEXT_CACHE_TAGS_HEADER),!h.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(h.cacheControl)),await (0,c.sendResponse)(H,F,new Response(h.value.body,{headers:m,status:h.value.status||200})),null};j?await i(j):await b.withPropagatedContext(e.headers,()=>b.trace(l.BaseServerSpan.handleRequest,{spanName:`${C} ${e.url}`,kind:o.SpanKind.SERVER,attributes:{"http.method":C,"http.target":e.url}},i))}catch(t){if(t instanceof h.NoFallbackError||await J.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isRevalidate:k,isOnDemandRevalidate:y})}),O)throw t;return await (0,c.sendResponse)(H,F,new Response(null,{status:500})),null}}}];
|
|
1
|
+
module.exports=[86719,e=>{"use strict";e.s(["handler",()=>et,"patchFetch",()=>ee,"routeModule",()=>J,"serverHooks",()=>Y,"workAsyncStorage",()=>Z,"workUnitAsyncStorage",()=>Q],86719);var t=e.i(5865),a=e.i(43877),s=e.i(77767),r=e.i(92562),o=e.i(66256),n=e.i(5270),i=e.i(90231),d=e.i(82677),l=e.i(51081),u=e.i(89822),c=e.i(9124),p=e.i(39147),g=e.i(40568),R=e.i(87188),h=e.i(93695);e.i(57132);var v=e.i(80739);e.s(["GET",()=>B,"OPTIONS",()=>V,"POST",()=>W,"maxDuration",()=>K],26738),e.s(["GET",()=>B,"OPTIONS",()=>V,"POST",()=>W],58409);var m=e.i(24493),w=e.i(49493),S=e.i(29173),E=e.i(50498),T=e.i(91450),I=e.i(30611),f=e.i(13669),L=e.i(14554),q=e.i(95690);e.i(97691);var y=e.i(67775),P=e.i(7651),A=e.i(75247);let M=async({textContent:e,audioContent:t,assistant:a})=>{if(e)return e;if(t){let e=a.workspace.modelProviders.find(e=>e.type===S.ModelProviderType.OPENAI);if(!e?.apiKey)throw Error("No OpenAI API key found");let s=(0,P.buildOpenaiClient)({modelProvider:e}),r=t.split(",")[1];if((0,A.isEmpty)(r))return"-";let o=Buffer.from(r,"base64"),n=await (0,y.toFile)(o,"message.mp3");return(await s.audio.transcriptions.create({file:n,model:"whisper-1"})).text}throw Error("No content found")};var O=e.i(9949),N=e.i(56512),x=e.i(9394),k=e.i(38372);let C=async({assistant:e})=>{let t=(0,T.optimisticId)(),a=(0,N.default)().unix();return{data:await Promise.all(e.initialMessages.map(async(s,r)=>(0,T.serializeMessage)({message:{id:(0,T.optimisticId)(),role:s.role.toLowerCase(),created_at:a-r-1,object:"thread.message",content:[{type:"text",text:{annotations:[],value:s.content}}],run_id:null,assistant_id:s.role===S.MessageRole.ASSISTANT?(({assistant:e})=>{if((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:e.storageProviderType}))return e.openaiAssistantId;if((0,k.isResponsesStorageProvider)({storageProviderType:e.storageProviderType})||e.storageProviderType===S.StorageProviderType.SUPERINTERFACE_CLOUD)return e.id;throw Error("Invalid storage type")})({assistant:e}):null,thread_id:t,attachments:s.attachments,metadata:s.metadata,completed_at:a-r-1,incomplete_at:null,incomplete_details:null,status:"completed",runSteps:[]}}))),hasNextPage:!1,lastId:null}};var b=e.i(58011),j=e.i(39713),_=e.i(96227),H=e.i(57623),F=e.i(18527);let G=async({workspaceAccessWhere:e,prisma:t})=>(await t.workspace.findFirst({where:e})).id;var U=e.i(55897);let $=({threadId:e})=>e&&(0,U.validate)(e)?e:"00000000-0000-0000-0000-000000000000";var z=e.i(10671);let D=({error:e})=>e instanceof Error?`${e.message}${(({error:e})=>e.cause instanceof Error?` ${e.cause.message}`:e.cause?` ${e.cause}`:"")({error:e})}`:String(e),K=800,B=(({prisma:e})=>async t=>{let a=f.z.object({publicApiKey:f.z.string().optional(),assistantId:f.z.string().optional(),threadId:f.z.string().optional(),pageParam:f.z.string().optional()}).parse(Object.fromEntries(t.nextUrl.searchParams.entries())),s=await (0,O.workspaceAccessWhere)({publicApiKey:a.publicApiKey??null,prisma:e});if(!s)return w.NextResponse.json({error:"Invalid api key"},{status:400});let r=a.assistantId;if(!r)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistantId found.",workspaceId:await G({workspaceAccessWhere:s,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant id found"},{status:400});let{threadId:o,pageParam:n}=a,i=await e.assistant.findFirst({where:{id:r,workspace:s},include:{threads:{where:{id:$({threadId:o??null})},take:1,include:{assistant:{select:{storageProviderType:!0}}}},workspace:{include:{modelProviders:!0}},modelProvider:!0,initialMessages:{orderBy:{orderNumber:"desc"}},mcpServers:{include:{computerUseTool:!0,stdioTransport:!0,sseTransport:!0,httpTransport:!0}},tools:{include:{fileSearchTool:!0,webSearchTool:!0,imageGenerationTool:!0,codeInterpreterTool:!0,computerUseTool:!0}},functions:!0}});if(!i)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistant found.",workspaceId:await G({workspaceAccessWhere:s,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant found"},{status:400});if(!o)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});let d=i.threads[0];if(!d)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});let l=(0,q.assistantClientAdapter)({assistant:i,prisma:e,thread:d}),u=(0,L.storageThreadId)({thread:d});if(!u)return w.NextResponse.json(await C({assistant:i}),{headers:I.cacheHeaders});try{return w.NextResponse.json(await (0,E.messagesResponse)({threadId:u,client:l,...n?{pageParam:n}:{}}),{headers:I.cacheHeaders})}catch(t){return console.dir({error:t},{depth:null}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.GET,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to load messages: ${t.message}`,workspaceId:i.workspaceId,assistantId:i.id,threadId:d.id},prisma:e}),w.NextResponse.json({error:"Failed to load messages."},{status:500})}})({prisma:m.prisma}),W=(({prisma:e,onSuccessCreateThread:t=()=>void 0})=>async a=>{let s,r,o,n=f.z.object({audioContent:f.z.any().optional(),content:f.z.any().optional(),attachments:f.z.array(f.z.any()).optional(),assistantId:f.z.string().optional(),publicApiKey:f.z.string().optional(),threadId:f.z.string().optional()}).passthrough().parse(await a.json()),{audioContent:i,content:d,attachments:l,assistantId:u,publicApiKey:c,...p}=n,g=await (0,O.workspaceAccessWhere)({publicApiKey:c??null,prisma:e});if(!g)return w.NextResponse.json({error:"Invalid api key"},{status:400});if(!u)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistantId found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistantId found."},{status:400});if(!d&&!i&&!l?.length)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No content found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No content found."},{status:400});let R=await e.assistant.findFirst({where:{id:u,workspace:g},include:{threads:{where:{id:$({threadId:n.threadId??null})},include:{assistant:{select:{storageProviderType:!0}}},take:1},workspace:{include:{modelProviders:!0}},mcpServers:{include:{computerUseTool:!0,stdioTransport:!0,sseTransport:!0,httpTransport:!0}},tools:{include:{fileSearchTool:!0,webSearchTool:!0,imageGenerationTool:!0,codeInterpreterTool:!0,computerUseTool:{include:{mcpServer:{include:{stdioTransport:!0,sseTransport:!0,httpTransport:!0}}}}}},functions:{include:{handler:{include:{requestHandler:!0,firecrawlHandler:!0,replicateHandler:!0,clientToolHandler:!0,assistantHandler:!0,createTaskHandler:!0,listTasksHandler:!0,updateTaskHandler:!0,deleteTaskHandler:!0}}}},modelProvider:!0,initialMessages:{orderBy:{orderNumber:"asc"}}}});if(!R)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"No assistant found.",workspaceId:await G({workspaceAccessWhere:g,prisma:e})},prisma:e}),w.NextResponse.json({error:"No assistant found."},{status:400});if((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})&&!R.openaiAssistantId)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:400,message:"Assistant setup is not done.",workspaceId:R.workspaceId,assistantId:R.id},prisma:e}),w.NextResponse.json({error:"Assistant setup is not done."},{status:400});let h=R.threads[0],v=!1;if(!h){let a=(0,q.assistantClientAdapter)({assistant:R,prisma:e});try{h=await (0,_.createThread)({client:a,assistant:R,prisma:e,variables:p}),t({thread:h})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create thread: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id},prisma:e}),w.NextResponse.json({error:"Failed to create thread."},{status:500})}v=!0}try{s=(0,L.storageThreadId)({thread:h})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:"Failed to get storage thread id.",workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get storage thread id."},{status:500})}if(!s&&((0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})||(0,k.isResponsesStorageProvider)({storageProviderType:R.storageProviderType})))try{s=await (0,H.managedOpenaiThreadId)({assistant:R,threadId:h.id,prisma:e})}catch(t){return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to get managed openai thread id: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get managed openai thread id."},{status:500})}if(!s)return(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:"Invalid thread configuration.",workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Invalid thread configuration."},{status:500});try{r=await M({audioContent:i,textContent:d,assistant:R})}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to get content: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to get content."},{status:500})}let m=(0,q.assistantClientAdapter)({assistant:R,prisma:e,thread:h});try{await m.beta.threads.messages.create(s,{role:"user",content:r,...l?.length?{attachments:l}:{},metadata:(0,z.serializeMetadata)({variables:p,workspaceId:R.workspaceId,prisma:e})})}catch(t){return console.log({error:t}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create message: ${t.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to create message."},{status:500})}try{o=await m.beta.threads.runs.create(s,await (0,b.createRunOpts)({assistant:R,thread:h,prisma:e}))}catch(t){return console.error(t),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Failed to create run stream: ${D({error:t})}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}),w.NextResponse.json({error:"Failed to create run stream."},{status:500})}let y=null,P=null;return new Response((0,E.createMessageResponse)({client:m,createRunStream:o,handleToolCall:(0,j.handleToolCall)({assistant:R,thread:h,prisma:e}),onStart:({controller:e})=>{if(v)return(0,T.enqueueJson)({controller:e,value:{event:"thread.created",data:(({thread:e})=>({id:(0,L.storageThreadId)({thread:e}),object:"thread",created_at:(0,N.default)(e.createdAt).unix(),metadata:e.metadata}))({thread:h})}})},onError:async({error:t})=>{a.signal.aborted||(console.dir({error:t},{depth:null}),(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Thread Run failed: ${D({error:t})}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}))},onEvent:({event:t,data:a})=>{"thread.run.failed"===t?(0,F.createLog)({log:{requestMethod:S.LogRequestMethod.POST,requestRoute:S.LogRequestRoute.MESSAGES,level:S.LogLevel.ERROR,status:500,message:`Thread Run failed: ${a.last_error?.message}`,workspaceId:R.workspaceId,assistantId:R.id,threadId:h.id},prisma:e}):"thread.run.in_progress"===t?y=a:"thread.run.completed"===t&&(P=a)},onClose:async()=>{!P&&(0,x.isOpenaiAssistantsStorageProvider)({storageProviderType:R.storageProviderType})&&y&&await m.beta.threads.runs.cancel(y.id,{thread_id:y.thread_id})}}),{status:200,headers:{...I.cacheHeaders,"Content-Type":"application/json; charset=utf-8"}})})({prisma:m.prisma}),V=()=>w.NextResponse.json({},{headers:I.cacheHeaders});e.i(58409);var X=e.i(26738);let J=new t.AppRouteRouteModule({definition:{kind:a.RouteKind.APP_ROUTE,page:"/api/messages/route",pathname:"/api/messages",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/supercorp/superinterface/packages/server/src/app/api/messages/route.ts",nextConfigOutput:"",userland:X}),{workAsyncStorage:Z,workUnitAsyncStorage:Q,serverHooks:Y}=J;function ee(){return(0,s.patchFetch)({workAsyncStorage:Z,workUnitAsyncStorage:Q})}async function et(e,t,s){var m;let w="/api/messages/route";w=w.replace(/\/index$/,"")||"/";let S=await J.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!S)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:E,params:T,nextConfig:I,isDraftMode:f,prerenderManifest:L,routerServerContext:q,isOnDemandRevalidate:y,revalidateOnlyGenerated:P,resolvedPathname:A}=S,M=(0,n.normalizeAppPath)(w),O=!!(L.dynamicRoutes[M]||L.routes[A]);if(O&&!f){let e=!!L.routes[A],t=L.dynamicRoutes[M];if(t&&!1===t.fallback&&!e)throw new h.NoFallbackError}let N=null;!O||J.isDev||f||(N="/index"===(N=A)?"/":N);let x=!0===J.isDev||!O,k=O&&!x,C=e.method||"GET",b=(0,o.getTracer)(),j=b.getActiveScopeSpan(),_={params:T,prerenderManifest:L,renderOpts:{experimental:{cacheComponents:!!I.experimental.cacheComponents,authInterrupts:!!I.experimental.authInterrupts},supportsDynamicResponse:x,incrementalCache:(0,r.getRequestMeta)(e,"incrementalCache"),cacheLifeProfiles:null==(m=I.experimental)?void 0:m.cacheLife,isRevalidate:k,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,a,s)=>J.onRequestError(e,t,s,q)},sharedContext:{buildId:E}},H=new i.NodeNextRequest(e),F=new i.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(H,(0,d.signalFromNodeResponse)(t));try{let n=async a=>J.handle(G,_).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let s=b.getRootSpanAttributes();if(!s)return;if(s.get("next.span_type")!==l.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${s.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let r=s.get("next.route");if(r){let e=`${C} ${r}`;a.setAttributes({"next.route":r,"http.route":r,"next.span_name":e}),a.updateName(e)}else a.updateName(`${C} ${e.url}`)}),i=async o=>{var i,d;let l=async({previousCacheEntry:a})=>{try{if(!(0,r.getRequestMeta)(e,"minimalMode")&&y&&P&&!a)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let i=await n(o);e.fetchMetrics=_.renderOpts.fetchMetrics;let d=_.renderOpts.pendingWaitUntil;d&&s.waitUntil&&(s.waitUntil(d),d=void 0);let l=_.renderOpts.collectedTags;if(!O)return await (0,c.sendResponse)(H,F,i,_.renderOpts.pendingWaitUntil),null;{let e=await i.blob(),t=(0,p.toNodeOutgoingHttpHeaders)(i.headers);l&&(t[R.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let a=void 0!==_.renderOpts.collectedRevalidate&&!(_.renderOpts.collectedRevalidate>=R.INFINITE_CACHE)&&_.renderOpts.collectedRevalidate,s=void 0===_.renderOpts.collectedExpire||_.renderOpts.collectedExpire>=R.INFINITE_CACHE?void 0:_.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:i.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:a,expire:s}}}}catch(t){throw(null==a?void 0:a.isStale)&&await J.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isRevalidate:k,isOnDemandRevalidate:y})},q),t}},h=await J.handleResponse({req:e,nextConfig:I,cacheKey:N,routeKind:a.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:L,isRoutePPREnabled:!1,isOnDemandRevalidate:y,revalidateOnlyGenerated:P,responseGenerator:l,waitUntil:s.waitUntil});if(!O)return null;if((null==h||null==(i=h.value)?void 0:i.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==h||null==(d=h.value)?void 0:d.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});(0,r.getRequestMeta)(e,"minimalMode")||t.setHeader("x-nextjs-cache",y?"REVALIDATED":h.isMiss?"MISS":h.isStale?"STALE":"HIT"),f&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let m=(0,p.fromNodeOutgoingHttpHeaders)(h.value.headers);return(0,r.getRequestMeta)(e,"minimalMode")&&O||m.delete(R.NEXT_CACHE_TAGS_HEADER),!h.cacheControl||t.getHeader("Cache-Control")||m.get("Cache-Control")||m.set("Cache-Control",(0,g.getCacheControlHeader)(h.cacheControl)),await (0,c.sendResponse)(H,F,new Response(h.value.body,{headers:m,status:h.value.status||200})),null};j?await i(j):await b.withPropagatedContext(e.headers,()=>b.trace(l.BaseServerSpan.handleRequest,{spanName:`${C} ${e.url}`,kind:o.SpanKind.SERVER,attributes:{"http.method":C,"http.target":e.url}},i))}catch(t){if(t instanceof h.NoFallbackError||await J.onRequestError(e,t,{routerKind:"App Router",routePath:M,routeType:"route",revalidateReason:(0,u.getRevalidateReason)({isRevalidate:k,isOnDemandRevalidate:y})}),O)throw t;return await (0,c.sendResponse)(H,F,new Response(null,{status:500})),null}}}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=c4f00_next_dist_esm_build_templates_app-route_f952d9ab.js.map
|