import { resolve } from "node:path"; import type { NextConfig } from "next"; import managedMedia from "./src/content/managed-media.json"; const nextConfig: NextConfig = { turbopack: { root: resolve(process.cwd(), "../..") }, serverExternalPackages: ["playwright-core"], async redirects(){return [ {source:'/studio/graphic',destination:'/graphic',permanent:true}, {source:'/studio/infinite_canvas',destination:'/infinite_canvas',permanent:true}, {source:'/studio',destination:'/workspace',permanent:false}, ]}, async rewrites(){return [ ...Object.entries(managedMedia).filter(([path])=>path.startsWith("apps/waterfall-wiki/public/")).map(([path,asset])=>({source:"/"+path.slice("apps/waterfall-wiki/public/".length),destination:"/api/media/"+asset.id})), {source:'/graphic',destination:'http://prompt-studio:3000/studio/graphic'}, {source:'/infinite_canvas',destination:'http://prompt-studio:3000/studio/infinite_canvas'}, {source:"/studio/:path*",destination:"http://prompt-studio:3000/studio/:path*"}, {source:"/index.md",destination:"/api/agent-index"}, {source:"/skills/index.md",destination:"/api/guidance/skills"}, {source:"/skills/:path+/index.md",destination:"/api/guidance/skills/:path+"}, {source:"/agent",destination:"/api/agent-index"}, {source:"/agent/index.md",destination:"/api/agent-index"}, {source:"/skills/:skill/:doc.md",destination:"/api/skill-docs/:skill/:doc"}, ]}, output: "standalone", outputFileTracingRoot: resolve(process.cwd(), "../.."), outputFileTracingIncludes: {"/*":["./node_modules/playwright-core/**/*"]}, poweredByHeader: false, }; export default nextConfig;