export interface Tool {
name: string;
description: string;
inputSchema: {
type: string;
properties: Record<string, any>;
required?: string[];
};
handler: (args: any) => Promise<{ content: any[] }>;
}
export interface Resource {
uri: string;
name: string;
description?: string;
mimeType?: string;
}
export interface ResourceProvider {
list: () => Promise<Resource[]>;
read: (uri: string) => Promise<{ contents: any[] }>;
}
export interface Document {
id: string;
title: string;
content: string;
category: string;
tags: string[];
metadata: Record<string, any>;
created_at: string;
updated_at: string;
}
export interface AnalyticsEvent {
id: string;
event_type: string;
event_data: Record<string, any>;
user_id?: string;
session_id: string;
timestamp: string;
metadata: Record<string, any>;
}
export interface ApiLog {
id: string;
api_name: string;
endpoint: string;
request_data: Record<string, any>;
response_status?: number;
response_time_ms?: number;
success: boolean;
error_message?: string;
created_at: string;
}