// This file is generated automatically by Next.js // Do not edit this file manually type AppRoutes = "/" | "/login" type AppRouteHandlerRoutes = "/api/agent/[id]" | "/api/agent/[id]/bash-output" | "/api/agent/[id]/events" | "/api/agent/[id]/lease" | "/api/agent/new" | "/api/agent/running" | "/api/agent/running/events" | "/api/app-update" | "/api/auth/api-key/[provider]" | "/api/auth/combined" | "/api/auth/login/[provider]" | "/api/auth/logout/[provider]" | "/api/auth/providers" | "/api/backup/export" | "/api/backup/import" | "/api/cwd/browse" | "/api/cwd/validate" | "/api/default-cwd" | "/api/events" | "/api/features" | "/api/file-index" | "/api/files/[...path]" | "/api/git/diff" | "/api/git/push" | "/api/git/stash" | "/api/git/status" | "/api/home" | "/api/import/discover" | "/api/import/execute" | "/api/import/status" | "/api/logs" | "/api/mcp" | "/api/mcp/restart" | "/api/models" | "/api/models-config" | "/api/models-config/builtin" | "/api/models-config/catalog" | "/api/models-config/discover" | "/api/models-config/test" | "/api/modes" | "/api/plugins" | "/api/plugins/check" | "/api/project-aliases" | "/api/project-state" | "/api/project-trust" | "/api/projects/visibility" | "/api/provider-usage/query" | "/api/proxy" | "/api/proxy/test" | "/api/sessions" | "/api/sessions/[id]" | "/api/sessions/[id]/auto-name" | "/api/sessions/[id]/context" | "/api/sessions/[id]/details" | "/api/sessions/[id]/entries/[entryId]/thinking" | "/api/sessions/[id]/entries/[entryId]/tool-result-image" | "/api/sessions/[id]/export" | "/api/sessions/[id]/queue-recovery" | "/api/sessions/[id]/state" | "/api/sessions/search" | "/api/settings/title-model" | "/api/skills" | "/api/skills/check" | "/api/skills/install" | "/api/skills/search" | "/api/skills/update" | "/api/snippets" | "/api/snippets/[id]" | "/api/subagents/[id]" | "/api/subagents/profiles" | "/api/subagents/settings" | "/api/tasks" | "/api/tasks/[id]" | "/api/tasks/[id]/[action]" | "/api/tasks/[id]/changed-files" | "/api/tasks/[id]/diff" | "/api/tasks/[id]/events" | "/api/tasks/batch" | "/api/tasks/events" | "/api/tasks/settings" | "/api/tasks/templates" | "/api/terminal" | "/api/terminal/[id]" | "/api/terminal/[id]/events" | "/api/themes" | "/api/themes/[name]" | "/api/tools/extension-tools" | "/api/tools/settings" | "/api/usage" | "/api/vision-config" | "/api/web-auth" | "/api/worktrees" type PageRoutes = never type LayoutRoutes = "/" type RedirectRoutes = never type RewriteRoutes = never type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes | AppRouteHandlerRoutes interface ParamMap { "/": {} "/api/agent/[id]": { "id": string; } "/api/agent/[id]/bash-output": { "id": string; } "/api/agent/[id]/events": { "id": string; } "/api/agent/[id]/lease": { "id": string; } "/api/agent/new": {} "/api/agent/running": {} "/api/agent/running/events": {} "/api/app-update": {} "/api/auth/api-key/[provider]": { "provider": string; } "/api/auth/combined": {} "/api/auth/login/[provider]": { "provider": string; } "/api/auth/logout/[provider]": { "provider": string; } "/api/auth/providers": {} "/api/backup/export": {} "/api/backup/import": {} "/api/cwd/browse": {} "/api/cwd/validate": {} "/api/default-cwd": {} "/api/events": {} "/api/features": {} "/api/file-index": {} "/api/files/[...path]": { "path": string[]; } "/api/git/diff": {} "/api/git/push": {} "/api/git/stash": {} "/api/git/status": {} "/api/home": {} "/api/import/discover": {} "/api/import/execute": {} "/api/import/status": {} "/api/logs": {} "/api/mcp": {} "/api/mcp/restart": {} "/api/models": {} "/api/models-config": {} "/api/models-config/builtin": {} "/api/models-config/catalog": {} "/api/models-config/discover": {} "/api/models-config/test": {} "/api/modes": {} "/api/plugins": {} "/api/plugins/check": {} "/api/project-aliases": {} "/api/project-state": {} "/api/project-trust": {} "/api/projects/visibility": {} "/api/provider-usage/query": {} "/api/proxy": {} "/api/proxy/test": {} "/api/sessions": {} "/api/sessions/[id]": { "id": string; } "/api/sessions/[id]/auto-name": { "id": string; } "/api/sessions/[id]/context": { "id": string; } "/api/sessions/[id]/details": { "id": string; } "/api/sessions/[id]/entries/[entryId]/thinking": { "id": string; "entryId": string; } "/api/sessions/[id]/entries/[entryId]/tool-result-image": { "id": string; "entryId": string; } "/api/sessions/[id]/export": { "id": string; } "/api/sessions/[id]/queue-recovery": { "id": string; } "/api/sessions/[id]/state": { "id": string; } "/api/sessions/search": {} "/api/settings/title-model": {} "/api/skills": {} "/api/skills/check": {} "/api/skills/install": {} "/api/skills/search": {} "/api/skills/update": {} "/api/snippets": {} "/api/snippets/[id]": { "id": string; } "/api/subagents/[id]": { "id": string; } "/api/subagents/profiles": {} "/api/subagents/settings": {} "/api/tasks": {} "/api/tasks/[id]": { "id": string; } "/api/tasks/[id]/[action]": { "id": string; "action": string; } "/api/tasks/[id]/changed-files": { "id": string; } "/api/tasks/[id]/diff": { "id": string; } "/api/tasks/[id]/events": { "id": string; } "/api/tasks/batch": {} "/api/tasks/events": {} "/api/tasks/settings": {} "/api/tasks/templates": {} "/api/terminal": {} "/api/terminal/[id]": { "id": string; } "/api/terminal/[id]/events": { "id": string; } "/api/themes": {} "/api/themes/[name]": { "name": string; } "/api/tools/extension-tools": {} "/api/tools/settings": {} "/api/usage": {} "/api/vision-config": {} "/api/web-auth": {} "/api/worktrees": {} "/login": {} } export type ParamsOf = ParamMap[Route] interface LayoutSlotMap { "/": never } export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap, AppRouteHandlerRoutes } declare global { /** * Props for Next.js App Router page components * @example * ```tsx * export default function Page(props: PageProps<'/blog/[slug]'>) { * const { slug } = await props.params * return
Blog post: {slug}
* } * ``` */ interface PageProps { params: Promise searchParams: Promise> } /** * Props for Next.js App Router layout components * @example * ```tsx * export default function Layout(props: LayoutProps<'/dashboard'>) { * return
{props.children}
* } * ``` */ type LayoutProps = { params: Promise children: React.ReactNode } & { [K in LayoutSlotMap[LayoutRoute]]: React.ReactNode } /** * Context for Next.js App Router route handlers * @example * ```tsx * export async function GET(request: NextRequest, context: RouteContext<'/api/users/[id]'>) { * const { id } = await context.params * return Response.json({ id }) * } * ``` */ interface RouteContext { params: Promise } }