UNPKG

@mseep/doit-mcp-server

Version:

DoiT official MCP Server

377 lines (376 loc) 13.1 kB
import { z } from "zod"; export declare const ReportsArgumentsSchema: z.ZodObject<{ filter: z.ZodOptional<z.ZodString>; pageToken: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { filter?: string | undefined; pageToken?: string | undefined; }, { filter?: string | undefined; pageToken?: string | undefined; }>; export declare const RunQueryArgumentsSchema: z.ZodObject<{ config: z.ZodRecord<z.ZodString, z.ZodAny>; }, "strip", z.ZodTypeAny, { config: Record<string, any>; }, { config: Record<string, any>; }>; export declare const GetReportResultsArgumentsSchema: z.ZodObject<{ id: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; }, { id: string; }>; export interface Report { id: string; reportName: string; owner: string; type: string; createTime: number; updateTime: number; urlUI: string; } export interface ReportsResponse { pageToken: any; rowCount: number; reports: Report[]; } export interface QueryResult { schema: Array<{ name: string; type: string; }>; rows: Array<Array<any>>; cacheHit: boolean; } export interface QueryResponse { result: QueryResult; error?: string; } export interface ReportResultSchema { name: string; type: string; } export interface ReportResult { schema: ReportResultSchema[]; mlFeatures?: string[]; rows: Array<Array<any>>; forecastRows?: Array<Array<any>>; } export interface GetReportResultsResponse { id: string; reportName: string; owner: string; type: string; createTime: number; updateTime: number; urlUI: string; result: ReportResult; } export declare const reportsTool: { name: string; description: string; inputSchema: { type: string; properties: { filter: { type: string; description: string; }; pageToken: { type: string; description: string; }; }; }; }; export declare const runQueryTool: { name: string; description: string; inputSchema: { type: string; properties: { config: { type: string; description: string; properties: { metric: { type: string; description: string; properties: { type: { type: string; enum: string[]; }; value: { type: string; description: string; }; }; }; metricFilter: { type: string; description: string; properties: { metric: { type: string; description: string; properties: { type: { type: string; enum: string[]; }; value: { type: string; }; }; }; operator: { type: string; enum: string[]; description: string; }; values: { type: string; items: { type: string; }; description: string; }; }; }; aggregation: { type: string; enum: string[]; description: string; }; timeInterval: { type: string; enum: string[]; description: string; }; dimensions: { type: string; description: string; items: { type: string; properties: { id: { type: string; }; type: { type: string; }; }; }; }; timeRange: { type: string; description: string; properties: { amount: { type: string; }; includeCurrent: { type: string; }; mode: { type: string; enum: string[]; }; unit: { type: string; enum: string[]; }; }; }; includePromotionalCredits: { type: string; description: string; }; includeSubtotals: { type: string; description: string; }; filters: { type: string; description: string; items: { type: string; properties: { id: { type: string; description: string; }; type: { type: string; enum: string[]; }; inverse: { type: string; description: string; }; values: { type: string; items: { type: string; }; description: string; }; }; }; }; group: { type: string; description: string; items: { type: string; properties: { id: { type: string; }; type: { type: string; }; limit: { type: string; properties: { metric: { type: string; properties: { type: { type: string; }; value: { type: string; }; }; }; sort: { type: string; }; value: { type: string; }; }; }; }; }; }; layout: { type: string; enum: string[]; description: string; }; displayValues: { type: string; enum: string[]; description: string; }; currency: { type: string; description: string; }; dataSource: { type: string; enum: string[]; description: string; }; splits: { type: string; description: string; items: { type: string; properties: { id: { type: string; }; type: { type: string; }; includeOrigin: { type: string; }; mode: { type: string; enum: string[]; }; targets: { type: string; items: { type: string; properties: { id: { type: string; }; type: { type: string; }; value: { type: string; }; }; }; }; }; }; }; customTimeRange: { type: string; description: string; properties: { from: { type: string; format: string; description: string; }; to: { type: string; format: string; description: string; }; }; }; }; }; }; required: string[]; }; }; export declare const getReportResultsTool: { name: string; description: string; inputSchema: { type: string; properties: { id: { type: string; description: string; }; }; required: string[]; }; }; export declare function formatReport(report: Report): string; export declare function formatQueryResult(queryResult: QueryResult): string; export declare function handleReportsRequest(args: any, token: string): Promise<{ content: { type: string; text: string; }[]; }>; export declare function handleRunQueryRequest(args: any, token: string): Promise<{ content: { type: string; text: string; }[]; }>; export declare function formatReportResults(report: GetReportResultsResponse): string; export declare function handleGetReportResultsRequest(args: any, token: string): Promise<{ content: { type: string; text: string; }[]; }>;