From 5255f997a11e5ca795d0f2fa1f6ebaba2b983a56 Mon Sep 17 00:00:00 2001 From: harshitsinghbhandari <24b4506@iitb.ac.in> Date: Sat, 4 Apr 2026 22:21:26 +0530 Subject: [PATCH] refactor: deduplicate Orchestrator interface Export Orchestrator interface from OrchestratorSelector component and import it in page.tsx to avoid silent divergence risk. Co-Authored-By: Claude Opus 4.5 --- packages/web/src/app/orchestrators/page.tsx | 12 +----------- packages/web/src/components/OrchestratorSelector.tsx | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/packages/web/src/app/orchestrators/page.tsx b/packages/web/src/app/orchestrators/page.tsx index 86a360f0e..cb3dedfb5 100644 --- a/packages/web/src/app/orchestrators/page.tsx +++ b/packages/web/src/app/orchestrators/page.tsx @@ -1,5 +1,5 @@ import type { Metadata } from "next"; -import { OrchestratorSelector } from "@/components/OrchestratorSelector"; +import { OrchestratorSelector, type Orchestrator } from "@/components/OrchestratorSelector"; import { getServices } from "@/lib/services"; import { isOrchestratorSession } from "@composio/ao-core/types"; import { getAllProjects } from "@/lib/project-name"; @@ -22,16 +22,6 @@ export async function generateMetadata(props: { return { title: { absolute: `ao | ${projectName} - Select Orchestrator` } }; } -interface Orchestrator { - id: string; - projectId: string; - projectName: string; - status: string; - activity: string | null; - createdAt: string | null; - lastActivityAt: string | null; -} - export default async function OrchestratorsRoute(props: { searchParams: Promise<{ project?: string }>; }) { diff --git a/packages/web/src/components/OrchestratorSelector.tsx b/packages/web/src/components/OrchestratorSelector.tsx index 724a25409..e2dcdf9bc 100644 --- a/packages/web/src/components/OrchestratorSelector.tsx +++ b/packages/web/src/components/OrchestratorSelector.tsx @@ -5,7 +5,7 @@ import { useRouter } from "next/navigation"; import Link from "next/link"; import { cn } from "@/lib/cn"; -interface Orchestrator { +export interface Orchestrator { id: string; projectId: string; projectName: string;