Files
Dorod-Sky/skyvern-frontend/src/router.tsx

240 lines
7.0 KiB
TypeScript
Raw Normal View History

import { Navigate, Outlet, createBrowserRouter } from "react-router-dom";
import { BrowserSession } from "@/routes/browserSessions/BrowserSession";
import { BrowserSessions } from "@/routes/browserSessions/BrowserSessions";
import { PageLayout } from "./components/PageLayout";
import { DiscoverPage } from "./routes/discover/DiscoverPage";
import { HistoryPage } from "./routes/history/HistoryPage";
2024-04-01 21:34:52 +03:00
import { RootLayout } from "./routes/root/RootLayout";
import { Settings } from "./routes/settings/Settings";
import { CreateNewTaskFormPage } from "./routes/tasks/create/CreateNewTaskFormPage";
2024-09-30 09:08:27 -07:00
import { RetryTask } from "./routes/tasks/create/retry/RetryTask";
import { StepArtifactsLayout } from "./routes/tasks/detail/StepArtifactsLayout";
import { TaskActions } from "./routes/tasks/detail/TaskActions";
2024-09-30 09:08:27 -07:00
import { TaskDetails } from "./routes/tasks/detail/TaskDetails";
import { TaskParameters } from "./routes/tasks/detail/TaskParameters";
2024-09-30 09:08:27 -07:00
import { TaskRecording } from "./routes/tasks/detail/TaskRecording";
2024-12-05 11:56:09 -08:00
import { TasksPage } from "./routes/tasks/list/TasksPage";
2025-09-12 16:13:05 -04:00
import { Debugger } from "@/routes/workflows/debugger/Debugger";
import { WorkflowPage } from "./routes/workflows/WorkflowPage";
2024-08-02 16:17:18 +03:00
import { WorkflowRun } from "./routes/workflows/WorkflowRun";
2024-09-30 09:08:27 -07:00
import { WorkflowRunParameters } from "./routes/workflows/WorkflowRunParameters";
import { Workflows } from "./routes/workflows/Workflows";
import { WorkflowsPageLayout } from "./routes/workflows/WorkflowsPageLayout";
import { WorkflowEditor } from "./routes/workflows/editor/WorkflowEditor";
2024-12-11 09:23:07 -08:00
import { WorkflowPostRunParameters } from "./routes/workflows/workflowRun/WorkflowPostRunParameters";
import { WorkflowRunOutput } from "./routes/workflows/workflowRun/WorkflowRunOutput";
2024-12-23 23:44:47 -08:00
import { WorkflowRunOverview } from "./routes/workflows/workflowRun/WorkflowRunOverview";
import { WorkflowRunRecording } from "./routes/workflows/workflowRun/WorkflowRunRecording";
2025-09-15 18:54:03 -04:00
import { WorkflowRunCode } from "@/routes/workflows/workflowRun/WorkflowRunCode";
2025-07-07 22:30:33 -04:00
import { DebugStoreProvider } from "@/store/DebugStoreContext";
import { CredentialsPage } from "@/routes/credentials/CredentialsPage.tsx";
2025-11-05 09:48:55 -05:00
import { RunRouter } from "@/routes/runs/RunRouter";
2024-04-01 21:34:52 +03:00
const router = createBrowserRouter([
2025-07-09 15:44:09 -04:00
{
path: "browser-session/:browserSessionId",
element: <BrowserSession />,
},
2024-04-01 21:34:52 +03:00
{
path: "/",
2025-07-07 22:30:33 -04:00
element: (
<DebugStoreProvider>
<RootLayout />
</DebugStoreProvider>
),
2024-04-01 21:34:52 +03:00
children: [
2025-11-05 09:48:55 -05:00
{
path: "runs",
element: <PageLayout />,
children: [
{
index: true,
element: <HistoryPage />,
},
],
},
{
path: "runs/:runId/*",
element: <RunRouter />,
},
{
path: "browser-sessions",
element: <BrowserSessions />,
},
2024-04-01 21:34:52 +03:00
{
index: true,
element: <Navigate to="/discover" />,
2024-04-01 21:34:52 +03:00
},
{
path: "tasks",
element: <PageLayout />,
2024-04-01 21:34:52 +03:00
children: [
{
index: true,
2024-12-05 11:56:09 -08:00
element: <TasksPage />,
},
{
path: "create",
element: <Outlet />,
children: [
{
path: ":template",
element: <CreateNewTaskFormPage />,
},
{
path: "retry/:taskId",
element: <RetryTask />,
},
],
2024-04-01 21:34:52 +03:00
},
{
path: ":taskId",
element: <TaskDetails />,
children: [
{
index: true,
element: <Navigate to="actions" />,
},
{
path: "actions",
element: <TaskActions />,
},
{
path: "recording",
element: <TaskRecording />,
},
{
path: "parameters",
element: <TaskParameters />,
},
2024-06-05 18:53:30 +03:00
{
path: "diagnostics",
2024-06-05 18:53:30 +03:00
element: <StepArtifactsLayout />,
},
],
2024-04-01 21:34:52 +03:00
},
],
},
{
path: "workflows",
element: <WorkflowsPageLayout />,
children: [
{
index: true,
element: <Workflows />,
},
{
path: ":workflowPermanentId",
element: <Outlet />,
children: [
{
index: true,
element: <Navigate to="runs" />,
},
2025-07-07 22:30:33 -04:00
{
path: "debug",
2025-09-12 16:13:05 -04:00
element: <Debugger />,
2025-07-07 22:30:33 -04:00
},
{
path: ":workflowRunId/:blockLabel/debug",
2025-09-12 16:13:05 -04:00
element: <Debugger />,
2025-07-07 22:30:33 -04:00
},
{
path: "edit",
element: <WorkflowEditor />,
},
{
path: "run",
element: <WorkflowRunParameters />,
},
{
path: "runs",
element: <WorkflowPage />,
},
2024-08-02 16:17:18 +03:00
{
path: ":workflowRunId",
element: <WorkflowRun />,
2024-12-11 09:23:07 -08:00
children: [
{
index: true,
2024-12-23 23:44:47 -08:00
element: <Navigate to="overview" />,
2024-12-11 09:23:07 -08:00
},
{
path: "blocks",
element: <Navigate to="overview" />,
},
2024-12-11 09:23:07 -08:00
{
2024-12-23 23:44:47 -08:00
path: "overview",
element: <WorkflowRunOverview />,
2024-12-11 09:23:07 -08:00
},
{
path: "output",
element: <WorkflowRunOutput />,
},
{
path: "parameters",
element: <WorkflowPostRunParameters />,
},
{
path: "recording",
element: <WorkflowRunRecording />,
},
2025-09-15 18:54:03 -04:00
{
path: "code",
element: (
<WorkflowRunCode showCacheKeyValueSelector={true} />
),
},
2024-12-11 09:23:07 -08:00
],
2024-08-02 16:17:18 +03:00
},
],
},
],
},
{
path: "discover",
element: <PageLayout />,
children: [
{
index: true,
element: <DiscoverPage />,
},
],
},
{
path: "history",
element: <PageLayout />,
children: [
{
index: true,
element: <HistoryPage />,
},
],
},
2024-04-01 21:34:52 +03:00
{
path: "settings",
element: <PageLayout />,
2024-04-01 21:34:52 +03:00
children: [
{
index: true,
element: <Settings />,
},
],
},
{
path: "credentials",
element: <PageLayout />,
children: [
{
index: true,
element: <CredentialsPage />,
},
],
},
2024-04-01 21:34:52 +03:00
],
},
]);
export { router };