main
ts 38 lines 1.08 KB
Raw
1 import type { ExampleQuestion, MCPServer, QueryResult } from "@/types/copilotMCP.d"
2 import type { FlaskBaseResponse } from "@/types/flask.d"
3 import { HttpClient } from "../httpClient"
4
5 export interface QueryPayload {
6 input: string
7 mcp_server: string
8 verbose?: boolean
9 }
10
11 export default {
12 getAvailableServers() {
13 return HttpClient.get<FlaskBaseResponse & { servers: MCPServer[]; total_servers: number }>(
14 `/copilot_mcp/servers`
15 )
16 },
17 getServerDetails(server: string) {
18 return HttpClient.get<
19 FlaskBaseResponse & {
20 servers: MCPServer[]
21 available_categories: string[]
22 total_example_questions: number
23 }
24 >(`/copilot_mcp/servers/${server}`)
25 },
26 query(payload: QueryPayload, signal?: AbortSignal) {
27 return HttpClient.post<FlaskBaseResponse & QueryResult>(`/copilot_mcp/query`, payload, signal ? { signal } : {})
28 },
29 getExampleQuestions(server: string) {
30 return HttpClient.get<
31 FlaskBaseResponse & { mcp_server: string; questions: ExampleQuestion[]; total_questions: number }
32 >(`/copilot_mcp/example-questions`, {
33 params: {
34 mcp_server: server
35 }
36 })
37 }
38 }