@polpo-ai/dashboard 0.1.1 → 0.1.2
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/app/(dashboard)/layout.tsx +6 -6
- package/app/(dashboard)/projects/[id]/agents/[name]/memory/view.tsx +3 -3
- package/app/(dashboard)/projects/[id]/agents/[name]/models-view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/agents/[name]/page.tsx +3 -3
- package/app/(dashboard)/projects/[id]/agents/[name]/prompt/view.tsx +4 -4
- package/app/(dashboard)/projects/[id]/agents/[name]/skills/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/agents/[name]/tools/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/agents/[name]/vault/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/agents/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/agents/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/logs/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/logs/view.tsx +3 -3
- package/app/(dashboard)/projects/[id]/memory/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/memory/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/missions/[missionId]/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/missions/[missionId]/view.tsx +3 -3
- package/app/(dashboard)/projects/[id]/missions/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/missions/view.tsx +5 -5
- package/app/(dashboard)/projects/[id]/onboarding-checklist.tsx +3 -3
- package/app/(dashboard)/projects/[id]/page.tsx +3 -3
- package/app/(dashboard)/projects/[id]/playbooks/[name]/view.tsx +4 -4
- package/app/(dashboard)/projects/[id]/playbooks/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/schedules/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/schedules/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/sessions/[sessionId]/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/sessions/[sessionId]/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/sessions/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/sessions/view.tsx +5 -5
- package/app/(dashboard)/projects/[id]/settings/page.tsx +4 -4
- package/app/(dashboard)/projects/[id]/skills/[name]/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/skills/[name]/view.tsx +4 -4
- package/app/(dashboard)/projects/[id]/skills/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/skills/view.tsx +4 -4
- package/app/(dashboard)/projects/[id]/storage/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/activity/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/assessment/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/blueprint.ts +1 -1
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/output/view.tsx +2 -2
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/page.tsx +3 -3
- package/app/(dashboard)/projects/[id]/tasks/[taskId]/view.tsx +1 -1
- package/app/(dashboard)/projects/[id]/tasks/page.tsx +2 -2
- package/app/(dashboard)/projects/[id]/tasks/view.tsx +5 -5
- package/app/(dashboard)/projects/[id]/view.tsx +4 -4
- package/app/(dashboard)/projects/[id]/welcome-banner.tsx +2 -2
- package/app/(dashboard)/projects/projects-list.tsx +1 -1
- package/app/(playground)/layout.tsx +2 -2
- package/app/(playground)/projects/[id]/playground/page.tsx +2 -2
- package/app/(playground)/projects/[id]/playground/view.tsx +2 -2
- package/app/(playground)/projects/[id]/playground-legacy/page.tsx +2 -2
- package/app/(playground)/projects/[id]/playground-legacy/skeleton.tsx +1 -1
- package/app/(playground)/projects/[id]/playground-legacy/view.tsx +1 -1
- package/components/ai-elements/code-block.tsx +3 -3
- package/components/dashboard/agent-picker-card.tsx +1 -1
- package/components/dashboard/agent-studio.tsx +10 -10
- package/components/dashboard/builder-chat.tsx +2 -2
- package/components/dashboard/client-picker.tsx +2 -2
- package/components/dashboard/connect-dialog.tsx +8 -8
- package/components/dashboard/file-browser.tsx +1 -1
- package/components/dashboard/markdown.tsx +1 -1
- package/components/dashboard/mcp-install-panel.tsx +2 -2
- package/components/dashboard/polpo-chat.tsx +2 -2
- package/components/dashboard/project-copilot.tsx +3 -3
- package/components/dashboard/sdk-snippet-panel.tsx +4 -4
- package/components/dashboard/settings-form.tsx +9 -9
- package/components/dashboard/sidebar.tsx +6 -6
- package/components/dashboard/skeletons.tsx +1 -1
- package/components/dashboard/skills-install-wizard.tsx +2 -2
- package/components/dashboard/task-studio.tsx +7 -7
- package/components/dashboard/top-header.tsx +2 -2
- package/components/dashboard/webhook-deliveries.tsx +1 -1
- package/components/providers.tsx +1 -1
- package/components/ui/badge.tsx +1 -1
- package/components/ui/button.tsx +1 -1
- package/components/ui/card.tsx +1 -1
- package/components/ui/chart.tsx +1 -1
- package/components/ui/command.tsx +3 -3
- package/components/ui/dialog.tsx +2 -2
- package/components/ui/input-group.tsx +4 -4
- package/components/ui/input.tsx +1 -1
- package/components/ui/multi-select.tsx +2 -2
- package/components/ui/popover.tsx +1 -1
- package/components/ui/select.tsx +1 -1
- package/components/ui/separator.tsx +1 -1
- package/components/ui/sheet.tsx +2 -2
- package/components/ui/skeleton.tsx +1 -1
- package/components/ui/tabs.tsx +1 -1
- package/components/ui/textarea.tsx +1 -1
- package/components/ui/tooltip.tsx +1 -1
- package/package.json +3 -12
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Sidebar, MobileSidebar, MobileHeader } from "
|
|
2
|
-
import { TopHeader } from "
|
|
3
|
-
import { Providers } from "
|
|
4
|
-
import { MobileSidebarProvider } from "
|
|
5
|
-
import { DesktopSidebarProvider } from "
|
|
6
|
-
import { CopilotLayout } from "
|
|
1
|
+
import { Sidebar, MobileSidebar, MobileHeader } from "../../components/dashboard/sidebar";
|
|
2
|
+
import { TopHeader } from "../../components/dashboard/top-header";
|
|
3
|
+
import { Providers } from "../../components/providers";
|
|
4
|
+
import { MobileSidebarProvider } from "../../hooks/use-mobile-sidebar";
|
|
5
|
+
import { DesktopSidebarProvider } from "../../hooks/use-desktop-sidebar";
|
|
6
|
+
import { CopilotLayout } from "../../components/dashboard/project-copilot";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Single-tenant self-host shell. No Better Auth session, no org list, no
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Link from "next/link";
|
|
2
|
-
import { Markdown } from "
|
|
3
|
-
import { CopyButton } from "
|
|
4
|
-
import { Hint } from "
|
|
2
|
+
import { Markdown } from "../../../../../../../components/dashboard/markdown";
|
|
3
|
+
import { CopyButton } from "../../../../../../../components/dashboard/copy-button";
|
|
4
|
+
import { Hint } from "../../../../../../../components/dashboard/hint";
|
|
5
5
|
|
|
6
6
|
export default function AgentMemoryView({ id, content }: { id: string; content: string }) {
|
|
7
7
|
return (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AgentConfig } from "@polpo-ai/core";
|
|
2
|
-
import { AgentCapabilities } from "
|
|
2
|
+
import { AgentCapabilities } from "../../../../../../components/dashboard/agent-capabilities";
|
|
3
3
|
|
|
4
4
|
/** Models tab — the per-capability model grid (one row per modality). */
|
|
5
5
|
export default function AgentModelsView({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi, getAgent } from "
|
|
3
|
-
import { AgentProfileSkeleton } from "
|
|
4
|
-
import { AgentStudio, type VaultEntry } from "
|
|
2
|
+
import { dataApi, getAgent } from "../../../../../../lib/api";
|
|
3
|
+
import { AgentProfileSkeleton } from "../../../../../../components/dashboard/skeletons";
|
|
4
|
+
import { AgentStudio, type VaultEntry } from "../../../../../../components/dashboard/agent-studio";
|
|
5
5
|
|
|
6
6
|
const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:4000";
|
|
7
7
|
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { Eye } from "lucide-react";
|
|
5
5
|
import type { AgentConfig } from "@polpo-ai/core";
|
|
6
|
-
import { Markdown } from "
|
|
7
|
-
import { CopyButton } from "
|
|
8
|
-
import { Hint } from "
|
|
6
|
+
import { Markdown } from "../../../../../../../components/dashboard/markdown";
|
|
7
|
+
import { CopyButton } from "../../../../../../../components/dashboard/copy-button";
|
|
8
|
+
import { Hint } from "../../../../../../../components/dashboard/hint";
|
|
9
9
|
import {
|
|
10
10
|
Dialog,
|
|
11
11
|
DialogContent,
|
|
12
12
|
DialogDescription,
|
|
13
13
|
DialogHeader,
|
|
14
14
|
DialogTitle,
|
|
15
|
-
} from "
|
|
15
|
+
} from "../../../../../../../components/ui/dialog";
|
|
16
16
|
|
|
17
17
|
const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:4000";
|
|
18
18
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Link from "next/link";
|
|
2
2
|
import type { AgentConfig } from "@polpo-ai/core";
|
|
3
3
|
import { BookMarked, ExternalLink } from "lucide-react";
|
|
4
|
-
import { SectionHeader } from "
|
|
4
|
+
import { SectionHeader } from "../../../../../../../components/dashboard/section-header";
|
|
5
5
|
|
|
6
6
|
export default function AgentSkillsView({
|
|
7
7
|
agent,
|
|
@@ -58,13 +58,13 @@ import {
|
|
|
58
58
|
type LucideIcon,
|
|
59
59
|
} from "lucide-react";
|
|
60
60
|
import type { AgentConfig } from "@polpo-ai/core";
|
|
61
|
-
import { SectionHeader } from "
|
|
61
|
+
import { SectionHeader } from "../../../../../../../components/dashboard/section-header";
|
|
62
62
|
import {
|
|
63
63
|
TOOL_CATALOG,
|
|
64
64
|
CATALOG_TOOL_NAMES,
|
|
65
65
|
isToolEnabled,
|
|
66
66
|
hasGroupWildcard,
|
|
67
|
-
} from "
|
|
67
|
+
} from "../../../../../../../lib/tool-catalog";
|
|
68
68
|
|
|
69
69
|
const API_URL = process.env.NEXT_PUBLIC_API_URL ?? "http://localhost:4000";
|
|
70
70
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
3
|
import type { AgentConfig } from "@polpo-ai/core";
|
|
4
|
-
import { AgentsListSkeleton } from "
|
|
4
|
+
import { AgentsListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
5
5
|
import AgentsView, { type Team } from "./view";
|
|
6
6
|
|
|
7
7
|
async function AgentsData({ id }: { id: string }) {
|
|
@@ -7,7 +7,7 @@ import Link from "next/link";
|
|
|
7
7
|
// SDK-bundled types — consistent with what `polpo.X()` returns.
|
|
8
8
|
import type { AgentConfig } from "@polpo-ai/sdk";
|
|
9
9
|
import { RefreshCw, ChevronRight, Users, User, Search, Plus, Loader2 } from "lucide-react";
|
|
10
|
-
import { usePolpoClient } from "
|
|
10
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
11
11
|
import {
|
|
12
12
|
Dialog,
|
|
13
13
|
DialogContent,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
DialogHeader,
|
|
16
16
|
DialogTitle,
|
|
17
17
|
DialogTrigger,
|
|
18
|
-
} from "
|
|
18
|
+
} from "../../../../../components/ui/dialog";
|
|
19
19
|
|
|
20
20
|
export interface Team {
|
|
21
21
|
name: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { dehydrate, HydrationBoundary } from "@tanstack/react-query";
|
|
2
|
-
import getQueryClient from "
|
|
3
|
-
import { dataApi } from "
|
|
2
|
+
import getQueryClient from "../../../../../lib/get-query-client";
|
|
3
|
+
import { dataApi } from "../../../../../lib/api";
|
|
4
4
|
import LogsView from "./view";
|
|
5
5
|
|
|
6
6
|
export default async function LogsPage({
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import { useQuery } from "@tanstack/react-query";
|
|
4
4
|
import { useParams } from "next/navigation";
|
|
5
5
|
import { useState } from "react";
|
|
6
|
-
import { usePolpoClient } from "
|
|
7
|
-
import { LogsViewSkeleton, LogsEntriesSkeleton } from "
|
|
8
|
-
import { ManualRefreshButton } from "
|
|
6
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
7
|
+
import { LogsViewSkeleton, LogsEntriesSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
8
|
+
import { ManualRefreshButton } from "../../../../../components/dashboard/manual-refresh-button";
|
|
9
9
|
|
|
10
10
|
interface SessionInfo {
|
|
11
11
|
sessionId: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
3
|
-
import { ProjectMemorySkeleton } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
|
+
import { ProjectMemorySkeleton } from "../../../../../components/dashboard/skeletons";
|
|
4
4
|
import MemoryView from "./view";
|
|
5
5
|
|
|
6
6
|
async function MemoryData({ id }: { id: string }) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
2
|
import Link from "next/link";
|
|
3
3
|
import { ArrowLeft } from "lucide-react";
|
|
4
|
-
import { dataApi } from "
|
|
4
|
+
import { dataApi } from "../../../../../../lib/api";
|
|
5
5
|
import type { Mission, Task } from "@polpo-ai/core";
|
|
6
|
-
import { MissionGraphSkeleton, MissionHeaderSkeleton } from "
|
|
6
|
+
import { MissionGraphSkeleton, MissionHeaderSkeleton } from "../../../../../../components/dashboard/skeletons";
|
|
7
7
|
import { MissionHeader, MissionTasksPanel } from "./view";
|
|
8
8
|
|
|
9
9
|
async function MissionHeaderData({
|
|
@@ -12,9 +12,9 @@ import { Loader2, Play, Square, RotateCcw, GitBranch, List, Braces, Copy, Check,
|
|
|
12
12
|
// `Task` from core because we need `missionId` to filter. `Mission` doesn't matter
|
|
13
13
|
// here — both shapes are equivalent for what this file consumes.
|
|
14
14
|
import type { Mission, Task } from "@polpo-ai/core";
|
|
15
|
-
import { usePolpoClient } from "
|
|
16
|
-
import { MissionGraph } from "
|
|
17
|
-
import { ManualRefreshButton } from "
|
|
15
|
+
import { usePolpoClient } from "../../../../../../lib/polpo-client";
|
|
16
|
+
import { MissionGraph } from "../../../../../../components/dashboard/mission-graph";
|
|
17
|
+
import { ManualRefreshButton } from "../../../../../../components/dashboard/manual-refresh-button";
|
|
18
18
|
|
|
19
19
|
function highlightJson(json: string): string {
|
|
20
20
|
return json.replace(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
3
|
import type { Mission } from "@polpo-ai/core";
|
|
4
|
-
import { MissionsListSkeleton } from "
|
|
4
|
+
import { MissionsListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
5
5
|
import MissionsView from "./view";
|
|
6
6
|
|
|
7
7
|
async function MissionsData({ id }: { id: string }) {
|
|
@@ -10,14 +10,14 @@ import { RefreshCw, X, ListFilter, Search } from "lucide-react";
|
|
|
10
10
|
// build ships a degraded copy (e.g. NotificationRule.condition: unknown vs
|
|
11
11
|
// NotificationCondition). Track in OSS issue: SDK should re-export from core.
|
|
12
12
|
import type { Mission } from "@polpo-ai/sdk";
|
|
13
|
-
import { usePolpoClient } from "
|
|
14
|
-
import { Button } from "
|
|
15
|
-
import { Badge } from "
|
|
16
|
-
import { Popover, PopoverContent, PopoverTrigger } from "
|
|
13
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
14
|
+
import { Button } from "../../../../../components/ui/button";
|
|
15
|
+
import { Badge } from "../../../../../components/ui/badge";
|
|
16
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../../../../components/ui/popover";
|
|
17
17
|
import {
|
|
18
18
|
Command, CommandInput, CommandList, CommandEmpty,
|
|
19
19
|
CommandGroup, CommandItem,
|
|
20
|
-
} from "
|
|
20
|
+
} from "../../../../../components/ui/command";
|
|
21
21
|
|
|
22
22
|
const ALL_STATUSES = [
|
|
23
23
|
"draft", "scheduled", "recurring", "active", "paused", "completed", "failed", "cancelled",
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
import { useEffect, useState } from "react";
|
|
4
4
|
import { Check, Copy, MessageSquare, BookMarked, Brain, ListChecks, Rocket } from "lucide-react";
|
|
5
|
-
import { CopyCard } from "
|
|
6
|
-
import { SdkSnippetPanel } from "
|
|
7
|
-
import { TabToggle } from "
|
|
5
|
+
import { CopyCard } from "../../../../components/dashboard/copy-card";
|
|
6
|
+
import { SdkSnippetPanel } from "../../../../components/dashboard/sdk-snippet-panel";
|
|
7
|
+
import { TabToggle } from "../../../../components/dashboard/tab-toggle";
|
|
8
8
|
|
|
9
9
|
export interface ChecklistStep {
|
|
10
10
|
id: string;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { api, dataApi } from "
|
|
3
|
-
import type { Project } from "
|
|
2
|
+
import { api, dataApi } from "../../../../lib/api";
|
|
3
|
+
import type { Project } from "../../../../lib/api";
|
|
4
4
|
import type { AgentConfig, Task, Mission } from "@polpo-ai/core";
|
|
5
|
-
import { ProjectOverviewSkeleton } from "
|
|
5
|
+
import { ProjectOverviewSkeleton } from "../../../../components/dashboard/skeletons";
|
|
6
6
|
import ProjectOverviewView from "./view";
|
|
7
7
|
import WelcomeBanner from "./welcome-banner";
|
|
8
8
|
|
|
@@ -6,9 +6,9 @@ import { useParams, useRouter } from "next/navigation";
|
|
|
6
6
|
import Link from "next/link";
|
|
7
7
|
import { ArrowLeft, Play, Loader2, AlertTriangle, Workflow, Braces, Copy, Check, GitBranch, List } from "lucide-react";
|
|
8
8
|
import type { Task } from "@polpo-ai/core";
|
|
9
|
-
import { usePolpoClient } from "
|
|
10
|
-
import { MissionGraph } from "
|
|
11
|
-
import { ManualRefreshButton } from "
|
|
9
|
+
import { usePolpoClient } from "../../../../../../lib/polpo-client";
|
|
10
|
+
import { MissionGraph } from "../../../../../../components/dashboard/mission-graph";
|
|
11
|
+
import { ManualRefreshButton } from "../../../../../../components/dashboard/manual-refresh-button";
|
|
12
12
|
import {
|
|
13
13
|
Dialog,
|
|
14
14
|
DialogContent,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
DialogDescription,
|
|
18
18
|
DialogFooter,
|
|
19
19
|
DialogClose,
|
|
20
|
-
} from "
|
|
20
|
+
} from "../../../../../../components/ui/dialog";
|
|
21
21
|
|
|
22
22
|
interface PlaybookParam {
|
|
23
23
|
name: string;
|
|
@@ -5,7 +5,7 @@ import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
|
|
|
5
5
|
import { useParams, useRouter } from "next/navigation";
|
|
6
6
|
import Link from "next/link";
|
|
7
7
|
import { RefreshCw, Search, Play, Loader2, Trash2, Workflow, AlertTriangle } from "lucide-react";
|
|
8
|
-
import { usePolpoClient } from "
|
|
8
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
9
9
|
import {
|
|
10
10
|
Dialog,
|
|
11
11
|
DialogContent,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
DialogDescription,
|
|
15
15
|
DialogFooter,
|
|
16
16
|
DialogClose,
|
|
17
|
-
} from "
|
|
17
|
+
} from "../../../../../components/ui/dialog";
|
|
18
18
|
|
|
19
19
|
interface PlaybookParam {
|
|
20
20
|
name: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
3
|
import type { Mission, ScheduleEntry } from "@polpo-ai/core";
|
|
4
|
-
import { SchedulesListSkeleton } from "
|
|
4
|
+
import { SchedulesListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
5
5
|
import SchedulesView from "./view";
|
|
6
6
|
|
|
7
7
|
async function SchedulesData({ id }: { id: string }) {
|
|
@@ -15,14 +15,14 @@ import {
|
|
|
15
15
|
AlertTriangle,
|
|
16
16
|
} from "lucide-react";
|
|
17
17
|
import type { Mission, ScheduleEntry, UpdateScheduleRequest } from "@polpo-ai/sdk";
|
|
18
|
-
import { usePolpoClient } from "
|
|
18
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
19
19
|
import {
|
|
20
20
|
Dialog,
|
|
21
21
|
DialogContent,
|
|
22
22
|
DialogHeader,
|
|
23
23
|
DialogTitle,
|
|
24
24
|
DialogDescription,
|
|
25
|
-
} from "
|
|
25
|
+
} from "../../../../../components/ui/dialog";
|
|
26
26
|
|
|
27
27
|
/**
|
|
28
28
|
* Schedules — client + pure-dogfood list of the project's active schedules.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
3
|
-
import { SessionDetailSkeleton } from "
|
|
2
|
+
import { dataApi } from "../../../../../../lib/api";
|
|
3
|
+
import { SessionDetailSkeleton } from "../../../../../../components/dashboard/skeletons";
|
|
4
4
|
import SessionDetailView, {
|
|
5
5
|
type Attachment,
|
|
6
6
|
type Message,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Link from "next/link";
|
|
2
2
|
import { ArrowLeft, ExternalLink } from "lucide-react";
|
|
3
|
-
import { ManualRefreshButton } from "
|
|
3
|
+
import { ManualRefreshButton } from "../../../../../../components/dashboard/manual-refresh-button";
|
|
4
4
|
import RawView from "./raw-view";
|
|
5
5
|
|
|
6
6
|
export interface Attachment {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
3
|
-
import { SessionsListSkeleton } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
|
+
import { SessionsListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
4
4
|
import SessionsView, { type Session } from "./view";
|
|
5
5
|
|
|
6
6
|
async function SessionsData({ id }: { id: string }) {
|
|
@@ -5,11 +5,11 @@ import { useQuery } from "@tanstack/react-query";
|
|
|
5
5
|
import { useParams } from "next/navigation";
|
|
6
6
|
import Link from "next/link";
|
|
7
7
|
import { ChevronRight, RefreshCw, Search, ListFilter, X } from "lucide-react";
|
|
8
|
-
import { usePolpoClient } from "
|
|
9
|
-
import { Button } from "
|
|
10
|
-
import { Badge } from "
|
|
11
|
-
import { Popover, PopoverContent, PopoverTrigger } from "
|
|
12
|
-
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from "
|
|
8
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
9
|
+
import { Button } from "../../../../../components/ui/button";
|
|
10
|
+
import { Badge } from "../../../../../components/ui/badge";
|
|
11
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../../../../components/ui/popover";
|
|
12
|
+
import { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem } from "../../../../../components/ui/command";
|
|
13
13
|
|
|
14
14
|
export interface Session {
|
|
15
15
|
id: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { api } from "
|
|
2
|
-
import type { Project } from "
|
|
3
|
-
import { SettingsForm } from "
|
|
4
|
-
import type { AutumnStatusResponse } from "
|
|
1
|
+
import { api } from "../../../../../lib/api";
|
|
2
|
+
import type { Project } from "../../../../../lib/api";
|
|
3
|
+
import { SettingsForm } from "../../../../../components/dashboard/settings-form";
|
|
4
|
+
import type { AutumnStatusResponse } from "../../../../../components/dashboard/settings-form";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Tenant data-plane URL. Mirrors the helper in connect-dialog.tsx so what
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
3
|
-
import { SkillDetailSkeleton } from "
|
|
2
|
+
import { dataApi } from "../../../../../../lib/api";
|
|
3
|
+
import { SkillDetailSkeleton } from "../../../../../../components/dashboard/skeletons";
|
|
4
4
|
import SkillDetailView, { type LoadedSkill, type FileEntry } from "./view";
|
|
5
5
|
|
|
6
6
|
/** Slim shape for the list-entry merge. Keep in sync with `SkillsListEntry`
|
|
@@ -5,10 +5,10 @@ import { useQuery } from "@tanstack/react-query";
|
|
|
5
5
|
import { useParams } from "next/navigation";
|
|
6
6
|
import Link from "next/link";
|
|
7
7
|
import { ArrowLeft, Users, Tag } from "lucide-react";
|
|
8
|
-
import { usePolpoClient } from "
|
|
9
|
-
import { Markdown } from "
|
|
10
|
-
import { ManualRefreshButton } from "
|
|
11
|
-
import { FileBrowser } from "
|
|
8
|
+
import { usePolpoClient } from "../../../../../../lib/polpo-client";
|
|
9
|
+
import { Markdown } from "../../../../../../components/dashboard/markdown";
|
|
10
|
+
import { ManualRefreshButton } from "../../../../../../components/dashboard/manual-refresh-button";
|
|
11
|
+
import { FileBrowser } from "../../../../../../components/dashboard/file-browser";
|
|
12
12
|
|
|
13
13
|
export interface LoadedSkill {
|
|
14
14
|
name: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
3
|
-
import { SkillsListSkeleton } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
|
+
import { SkillsListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
4
4
|
import SkillsView, { type SkillInfo } from "./view";
|
|
5
5
|
|
|
6
6
|
async function SkillsData({ id }: { id: string }) {
|
|
@@ -12,9 +12,9 @@ import {
|
|
|
12
12
|
Terminal,
|
|
13
13
|
Download,
|
|
14
14
|
} from "lucide-react";
|
|
15
|
-
import { usePolpoClient } from "
|
|
16
|
-
import { SkillsInstallWizard } from "
|
|
17
|
-
import { CommandSnippet } from "
|
|
15
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
16
|
+
import { SkillsInstallWizard } from "../../../../../components/dashboard/skills-install-wizard";
|
|
17
|
+
import { CommandSnippet } from "../../../../../components/dashboard/command-snippet";
|
|
18
18
|
import {
|
|
19
19
|
Dialog,
|
|
20
20
|
DialogContent,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
DialogHeader,
|
|
23
23
|
DialogTitle,
|
|
24
24
|
DialogTrigger,
|
|
25
|
-
} from "
|
|
25
|
+
} from "../../../../../components/ui/dialog";
|
|
26
26
|
|
|
27
27
|
export interface SkillInfo {
|
|
28
28
|
name: string;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { useState, useCallback, useEffect, useRef } from "react";
|
|
4
4
|
import { useQuery, useQueryClient } from "@tanstack/react-query";
|
|
5
5
|
import { useParams } from "next/navigation";
|
|
6
|
-
import { usePolpoClient } from "
|
|
6
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
7
7
|
import {
|
|
8
8
|
Folder, FileText, File, Image, Music, Video, Archive,
|
|
9
9
|
ChevronRight, ChevronLeft, Download, Search,
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
import { useState } from "react";
|
|
4
4
|
import { useQuery } from "@tanstack/react-query";
|
|
5
5
|
import type { Task } from "@polpo-ai/core";
|
|
6
|
-
import { usePolpoClient } from "
|
|
7
|
-
import { ManualRefreshButton } from "
|
|
6
|
+
import { usePolpoClient } from "../../../../../../../lib/polpo-client";
|
|
7
|
+
import { ManualRefreshButton } from "../../../../../../../components/dashboard/manual-refresh-button";
|
|
8
8
|
import type { BlueprintContext } from "../blueprint";
|
|
9
9
|
|
|
10
10
|
export interface LogEntry {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Task } from "@polpo-ai/core";
|
|
2
|
-
import { ManualRefreshButton } from "
|
|
2
|
+
import { ManualRefreshButton } from "../../../../../../../components/dashboard/manual-refresh-button";
|
|
3
3
|
import type { BlueprintContext } from "../blueprint";
|
|
4
4
|
|
|
5
5
|
export default function TaskAssessmentView({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Task } from "@polpo-ai/core";
|
|
2
|
-
import { Markdown } from "
|
|
3
|
-
import { ManualRefreshButton } from "
|
|
2
|
+
import { Markdown } from "../../../../../../../components/dashboard/markdown";
|
|
3
|
+
import { ManualRefreshButton } from "../../../../../../../components/dashboard/manual-refresh-button";
|
|
4
4
|
import type { BlueprintContext } from "../blueprint";
|
|
5
5
|
|
|
6
6
|
function formatDuration(ms: number) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
2
|
+
import { dataApi } from "../../../../../../lib/api";
|
|
3
3
|
import type { Task } from "@polpo-ai/core";
|
|
4
|
-
import { TaskDetailSkeleton } from "
|
|
4
|
+
import { TaskDetailSkeleton } from "../../../../../../components/dashboard/skeletons";
|
|
5
5
|
import { resolveBlueprint, type BlueprintContext } from "./blueprint";
|
|
6
6
|
import type { TaskActivityPayload } from "./activity/view";
|
|
7
|
-
import { TaskStudio, type TaskStudioInitialData } from "
|
|
7
|
+
import { TaskStudio, type TaskStudioInitialData } from "../../../../../../components/dashboard/task-studio";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Task detail = the Task Studio (fast client surface, like the Agent
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Task } from "@polpo-ai/core";
|
|
2
|
-
import { ManualRefreshButton } from "
|
|
2
|
+
import { ManualRefreshButton } from "../../../../../../components/dashboard/manual-refresh-button";
|
|
3
3
|
import type { BlueprintContext } from "./blueprint";
|
|
4
4
|
|
|
5
5
|
const statusColor: Record<string, string> = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Suspense } from "react";
|
|
2
|
-
import { dataApi } from "
|
|
2
|
+
import { dataApi } from "../../../../../lib/api";
|
|
3
3
|
import type { Task, Mission } from "@polpo-ai/core";
|
|
4
|
-
import { TasksListSkeleton } from "
|
|
4
|
+
import { TasksListSkeleton } from "../../../../../components/dashboard/skeletons";
|
|
5
5
|
import TasksView from "./view";
|
|
6
6
|
|
|
7
7
|
async function TasksData({ id }: { id: string }) {
|
|
@@ -9,14 +9,14 @@ import { ChevronRight, RefreshCw, X, ListFilter, Search } from "lucide-react";
|
|
|
9
9
|
// Mission from SDK is fine. Track in OSS issue: SDK types should re-export from core.
|
|
10
10
|
import type { Task } from "@polpo-ai/core";
|
|
11
11
|
import type { Mission } from "@polpo-ai/sdk";
|
|
12
|
-
import { usePolpoClient } from "
|
|
13
|
-
import { Button } from "
|
|
14
|
-
import { Badge } from "
|
|
15
|
-
import { Popover, PopoverContent, PopoverTrigger } from "
|
|
12
|
+
import { usePolpoClient } from "../../../../../lib/polpo-client";
|
|
13
|
+
import { Button } from "../../../../../components/ui/button";
|
|
14
|
+
import { Badge } from "../../../../../components/ui/badge";
|
|
15
|
+
import { Popover, PopoverContent, PopoverTrigger } from "../../../../../components/ui/popover";
|
|
16
16
|
import {
|
|
17
17
|
Command, CommandInput, CommandList, CommandEmpty,
|
|
18
18
|
CommandGroup, CommandItem,
|
|
19
|
-
} from "
|
|
19
|
+
} from "../../../../../components/ui/command";
|
|
20
20
|
|
|
21
21
|
const ALL_STATUSES = [
|
|
22
22
|
"draft", "pending", "awaiting_approval", "assigned",
|
|
@@ -6,8 +6,8 @@ import { useParams } from "next/navigation";
|
|
|
6
6
|
import Link from "next/link";
|
|
7
7
|
import type { AgentConfig, Task, Mission } from "@polpo-ai/core";
|
|
8
8
|
import { Users, ListChecks, Target, MessageSquare } from "lucide-react";
|
|
9
|
-
import { usePolpoClient } from "
|
|
10
|
-
import { ManualRefreshButton } from "
|
|
9
|
+
import { usePolpoClient } from "../../../../lib/polpo-client";
|
|
10
|
+
import { ManualRefreshButton } from "../../../../components/dashboard/manual-refresh-button";
|
|
11
11
|
import OnboardingChecklist, { deriveChecklistSteps, hasDeployedCheck } from "./onboarding-checklist";
|
|
12
12
|
import {
|
|
13
13
|
SwarmStatusBar,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
type RunRow,
|
|
16
16
|
type RunStatus,
|
|
17
17
|
type RunCounts,
|
|
18
|
-
} from "
|
|
18
|
+
} from "../../../../components/dashboard/swarm-runs";
|
|
19
19
|
|
|
20
20
|
interface SessionInfo {
|
|
21
21
|
id: string;
|
|
@@ -66,7 +66,7 @@ export default function ProjectOverviewView({
|
|
|
66
66
|
initialMissions: Mission[];
|
|
67
67
|
projectName: string;
|
|
68
68
|
projectSlug?: string;
|
|
69
|
-
initialChecklist?: import("
|
|
69
|
+
initialChecklist?: import("../../../../lib/api").OnboardingChecklist;
|
|
70
70
|
welcomeBanner?: React.ReactNode;
|
|
71
71
|
}) {
|
|
72
72
|
const { id } = useParams<{ id: string }>();
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
import { useEffect, useState } from "react";
|
|
15
15
|
import { useRouter } from "next/navigation";
|
|
16
16
|
import { X } from "lucide-react";
|
|
17
|
-
import { CopyCard } from "
|
|
18
|
-
import { ClientPicker, buildInstallCommand } from "
|
|
17
|
+
import { CopyCard } from "../../../../components/dashboard/copy-card";
|
|
18
|
+
import { ClientPicker, buildInstallCommand } from "../../../../components/dashboard/client-picker";
|
|
19
19
|
|
|
20
20
|
interface Props {
|
|
21
21
|
projectId: string;
|