UNPKG

@clicktime/mcp-server

Version:

ClickTime MCP Tech Demo for AI agents to interact with ClickTime API

108 lines (107 loc) 2.88 kB
export interface ExpenseType { ID: string; Name: string; IsActive: boolean; Description?: string; } export interface PaymentType { ID: string; Name: string; IsActive: boolean; Description?: string; } export interface ExpenseSheet { ID: string; Title: string; Description?: string; ExpenseSheetDate: string; Status: 'open' | 'approved' | 'rejected' | 'waiting' | 'paid'; TotalAmount: number; ReimbursableAmount: number; ExpenseItemCount: number; Paid: boolean; EnableForeignCurrency: boolean; TrackingID?: string; Check?: string; } export interface ExpenseItem { ID: string; ExpenseDate: string; Amount: number; Description?: string; Comment?: string; Billable: boolean; Reimbursable: boolean; ExpenseSheetID: string; ExpenseTypeID: string; PaymentTypeID: string; JobID?: string; TaskID?: string; Currency: string; ReceiptURL?: string; AmountForeign?: number; AmountForeignCurrency?: string; AmountForeignExchangeRate?: number; HasForeignCurrency: boolean; Quantity?: number; Rate?: number; } export interface ExpenseSheetParams { Status?: string[]; FromExpenseSheetDate?: string; ToExpenseSheetDate?: string; Paid?: boolean[]; limit?: number; offset?: number; } export interface ExpenseItemParams { ExpenseDate?: string[]; ExpenseSheetID?: string[]; ExpenseTypeID?: string[]; JobID?: string[]; ExpenseSheetStatus?: string[]; FromExpenseDate?: string; ToExpenseDate?: string; limit?: number; offset?: number; } export interface CreateExpenseSheetData { Title: string; ExpenseSheetDate: string; Description?: string; EnableForeignCurrency?: boolean; TrackingID?: string; } export interface CreateExpenseItemData { ExpenseDate: string; ExpenseSheetID: string; ExpenseTypeID: string; PaymentTypeID: string; Amount?: number; AmountForeign?: number; AmountForeignCurrency?: string; AmountForeignExchangeRate?: number; Description?: string; Comment?: string; Billable?: boolean; JobID?: string; TaskID?: string; Quantity?: number; Receipt?: string; ReceiptFileType?: string; } export interface ReceiptData { base64Data: string; mimeType: string; fileName?: string; fileSize?: number; } export interface ProcessedReceiptResult { receipt: string; receiptFileType: string; suggestedAmount?: number; suggestedDescription?: string; suggestedDate?: string; } export declare const SUPPORTED_RECEIPT_MIME_TYPES: readonly ["image/jpeg", "image/x-jpeg", "image/pjpeg", "image/png", "image/x-png", "image/gif", "image/x-gif", "image/bmp", "image/x-bmp", "application/pdf"]; export type SupportedMimeType = (typeof SUPPORTED_RECEIPT_MIME_TYPES)[number];