Autosave: 20260408-215335

This commit is contained in:
Flatlogic Bot 2026-04-08 21:53:35 +00:00
parent bf19c36c53
commit 67930e0c1a
9 changed files with 5256 additions and 2013 deletions

View File

@ -6,7 +6,7 @@ export async function GET(request: NextRequest) {
const state = searchParams.get('state')
if (!code) {
return NextResponse.redirect('http://localhost:3000/auth/error?error=oauth_code_missing')
return NextResponse.redirect(new URL('/oauth/error?error=oauth_code_missing', request.url))
}
// Handle OAuth callback for MCP server
@ -21,22 +21,22 @@ export async function GET(request: NextRequest) {
body: JSON.stringify({
code,
state,
redirect_uri: 'http://localhost:3000/oauth/consent'
redirect_uri: new URL('/oauth/consent', request.url).toString()
})
})
const result = await response.json()
if (result.error) {
return NextResponse.redirect(`http://localhost:3000/auth/error?error=${result.error}`)
return NextResponse.redirect(new URL(`/oauth/error?error=${result.error}`, request.url))
}
// Store tokens securely (in production, use proper session management)
// For now, redirect back to app
return NextResponse.redirect('http://localhost:3000/auth/success?mcp_configured=true')
return NextResponse.redirect(new URL('/oauth/success?mcp_configured=true', request.url))
} catch (error) {
console.error('OAuth callback error:', error)
return NextResponse.redirect('http://localhost:3000/auth/error?error=oauth_callback_failed')
return NextResponse.redirect(new URL('/oauth/error?error=oauth_callback_failed', request.url))
}
}

View File

@ -7,6 +7,6 @@ export async function middleware(request: NextRequest) {
export const config = {
matcher: [
'/((?!_next/static|_next/image|favicon.ico|manifest.json|icons/.*|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)',
'/((?!_next/static|_next/image|favicon.ico|manifest.json|sw.js|icons/.*|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)',
],
}
}

3
next-env.d.ts vendored
View File

@ -1,5 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/dev/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/building-your-application/configuring/typescript for more information.
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

View File

@ -13,6 +13,11 @@ const nextConfig = {
},
],
},
devIndicators: {
appIsrStatus: false,
},
// Allow host for dev server to fix HMR/WebSocket issues
allowedDevOrigins: ['infocusmovieapp-3455.dev.appwizzy.dev'],
}
export default nextConfig
export default nextConfig

0
next.log Normal file
View File

7183
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,32 +4,79 @@
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "tsx server.ts",
"build": "vite build",
"dev": "next dev -H 0.0.0.0 -p 3001",
"build": "next build",
"preview": "vite preview",
"clean": "rm -rf dist",
"lint": "tsc --noEmit"
"lint": "tsc --noEmit",
"start": "next dev -H 0.0.0.0 -p 3001"
},
"dependencies": {
"@google/genai": "^1.29.0",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.15",
"@radix-ui/react-aspect-ratio": "^1.1.8",
"@radix-ui/react-avatar": "^1.1.11",
"@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-collapsible": "^1.1.12",
"@radix-ui/react-context-menu": "^2.2.16",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.16",
"@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-menubar": "^1.1.16",
"@radix-ui/react-navigation-menu": "^1.2.14",
"@radix-ui/react-popover": "^1.1.15",
"@radix-ui/react-progress": "^1.1.8",
"@radix-ui/react-radio-group": "^1.3.8",
"@radix-ui/react-scroll-area": "^1.2.10",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-separator": "^1.1.8",
"@radix-ui/react-slider": "^1.3.6",
"@radix-ui/react-slot": "^1.2.4",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.13",
"@radix-ui/react-toast": "^1.2.15",
"@radix-ui/react-toggle": "^1.1.10",
"@radix-ui/react-toggle-group": "^1.1.11",
"@radix-ui/react-tooltip": "^1.2.8",
"@supabase/ssr": "^0.10.0",
"@supabase/supabase-js": "^2.99.1",
"@tailwindcss/vite": "^4.1.14",
"@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.0.4",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"date-fns": "3.6.0",
"dotenv": "^17.3.1",
"embla-carousel-react": "^8.6.0",
"express": "^4.22.1",
"input-otp": "^1.4.2",
"lucide-react": "^0.546.0",
"motion": "^12.23.24",
"next": "^16.2.3",
"next-themes": "^0.4.6",
"react": "^19.0.0",
"react-dom": "^19.0.0",
"react-day-picker": "8.10.1",
"date-fns": "3.6.0",
"react-dom": "^19.0.0",
"react-hook-form": "^7.72.1",
"react-resizable-panels": "^4.9.0",
"recharts": "^3.8.1",
"sonner": "^2.0.7",
"tailwind-merge": "^3.5.0",
"tailwindcss-animate": "^1.0.7",
"vaul": "^1.1.2",
"vite": "^6.2.0"
},
"devDependencies": {
"@tailwindcss/postcss": "^4.2.2",
"@types/express": "^4.17.25",
"@types/node": "^22.14.0",
"autoprefixer": "^10.4.21",
"tailwindcss": "^4.1.14",
"postcss": "^8.4.49",
"tailwindcss": "^3.4.17",
"tsx": "^4.21.0",
"typescript": "~5.8.2",
"vite": "^6.2.0"

View File

@ -2,6 +2,7 @@
const config = {
plugins: {
tailwindcss: {},
autoprefixer: {},
},
}

View File

@ -15,7 +15,7 @@
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve",
"jsx": "react-jsx",
"incremental": true,
"plugins": [
{