UNPKG

@hongkongkiwi/clockify-master-mcp

Version:

Clockify Master MCP - The most comprehensive Model Context Protocol server for Clockify time tracking with full API integration, advanced filtering, and enterprise features

152 lines 6.89 kB
import { z } from 'zod'; export declare const ConfigSchema: z.ZodObject<{ apiKey: z.ZodString; apiUrl: z.ZodDefault<z.ZodString>; restrictions: z.ZodDefault<z.ZodObject<{ allowedProjects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; deniedProjects: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; defaultProjectId: z.ZodOptional<z.ZodString>; allowedWorkspaces: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; defaultWorkspaceId: z.ZodOptional<z.ZodString>; readOnly: z.ZodDefault<z.ZodBoolean>; allowTimeEntryCreation: z.ZodDefault<z.ZodBoolean>; allowTimeEntryDeletion: z.ZodDefault<z.ZodBoolean>; allowProjectManagement: z.ZodDefault<z.ZodBoolean>; allowClientManagement: z.ZodDefault<z.ZodBoolean>; allowUserManagement: z.ZodDefault<z.ZodBoolean>; maxTimeEntryDuration: z.ZodOptional<z.ZodNumber>; allowFutureTimeEntries: z.ZodDefault<z.ZodBoolean>; allowPastTimeEntriesInDays: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { readOnly: boolean; allowTimeEntryCreation: boolean; allowTimeEntryDeletion: boolean; allowProjectManagement: boolean; allowClientManagement: boolean; allowUserManagement: boolean; allowFutureTimeEntries: boolean; allowPastTimeEntriesInDays: number; allowedProjects?: string[] | undefined; deniedProjects?: string[] | undefined; defaultProjectId?: string | undefined; allowedWorkspaces?: string[] | undefined; defaultWorkspaceId?: string | undefined; maxTimeEntryDuration?: number | undefined; }, { allowedProjects?: string[] | undefined; deniedProjects?: string[] | undefined; defaultProjectId?: string | undefined; allowedWorkspaces?: string[] | undefined; defaultWorkspaceId?: string | undefined; readOnly?: boolean | undefined; allowTimeEntryCreation?: boolean | undefined; allowTimeEntryDeletion?: boolean | undefined; allowProjectManagement?: boolean | undefined; allowClientManagement?: boolean | undefined; allowUserManagement?: boolean | undefined; maxTimeEntryDuration?: number | undefined; allowFutureTimeEntries?: boolean | undefined; allowPastTimeEntriesInDays?: number | undefined; }>>; cacheEnabled: z.ZodDefault<z.ZodBoolean>; cacheTTLSeconds: z.ZodDefault<z.ZodNumber>; rateLimitPerMinute: z.ZodDefault<z.ZodNumber>; logLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>; toolFiltering: z.ZodDefault<z.ZodObject<{ enabledCategories: z.ZodDefault<z.ZodArray<z.ZodEnum<["user", "workspace", "project", "client", "timeEntry", "tag", "task", "report", "bulk", "search"]>, "many">>; enabledTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; disabledTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; maxTools: z.ZodDefault<z.ZodNumber>; }, "strip", z.ZodTypeAny, { enabledCategories: ("user" | "workspace" | "project" | "client" | "timeEntry" | "tag" | "task" | "report" | "bulk" | "search")[]; maxTools: number; enabledTools?: string[] | undefined; disabledTools?: string[] | undefined; }, { enabledCategories?: ("user" | "workspace" | "project" | "client" | "timeEntry" | "tag" | "task" | "report" | "bulk" | "search")[] | undefined; enabledTools?: string[] | undefined; disabledTools?: string[] | undefined; maxTools?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { apiKey: string; apiUrl: string; restrictions: { readOnly: boolean; allowTimeEntryCreation: boolean; allowTimeEntryDeletion: boolean; allowProjectManagement: boolean; allowClientManagement: boolean; allowUserManagement: boolean; allowFutureTimeEntries: boolean; allowPastTimeEntriesInDays: number; allowedProjects?: string[] | undefined; deniedProjects?: string[] | undefined; defaultProjectId?: string | undefined; allowedWorkspaces?: string[] | undefined; defaultWorkspaceId?: string | undefined; maxTimeEntryDuration?: number | undefined; }; cacheEnabled: boolean; cacheTTLSeconds: number; rateLimitPerMinute: number; logLevel: "debug" | "info" | "warn" | "error"; toolFiltering: { enabledCategories: ("user" | "workspace" | "project" | "client" | "timeEntry" | "tag" | "task" | "report" | "bulk" | "search")[]; maxTools: number; enabledTools?: string[] | undefined; disabledTools?: string[] | undefined; }; }, { apiKey: string; apiUrl?: string | undefined; restrictions?: { allowedProjects?: string[] | undefined; deniedProjects?: string[] | undefined; defaultProjectId?: string | undefined; allowedWorkspaces?: string[] | undefined; defaultWorkspaceId?: string | undefined; readOnly?: boolean | undefined; allowTimeEntryCreation?: boolean | undefined; allowTimeEntryDeletion?: boolean | undefined; allowProjectManagement?: boolean | undefined; allowClientManagement?: boolean | undefined; allowUserManagement?: boolean | undefined; maxTimeEntryDuration?: number | undefined; allowFutureTimeEntries?: boolean | undefined; allowPastTimeEntriesInDays?: number | undefined; } | undefined; cacheEnabled?: boolean | undefined; cacheTTLSeconds?: number | undefined; rateLimitPerMinute?: number | undefined; logLevel?: "debug" | "info" | "warn" | "error" | undefined; toolFiltering?: { enabledCategories?: ("user" | "workspace" | "project" | "client" | "timeEntry" | "tag" | "task" | "report" | "bulk" | "search")[] | undefined; enabledTools?: string[] | undefined; disabledTools?: string[] | undefined; maxTools?: number | undefined; } | undefined; }>; export type Config = z.infer<typeof ConfigSchema>; export declare class ConfigurationManager { private config; constructor(overrides?: Partial<Config>); private parseToolFiltering; private parseRestrictions; get(): Config; getApiKey(): string; getApiUrl(): string; getRestrictions(): Config['restrictions']; getToolFiltering(): Config['toolFiltering']; isProjectAllowed(projectId: string): boolean; isWorkspaceAllowed(workspaceId: string): boolean; canPerformOperation(operation: string): boolean; getDefaultProjectId(): string | undefined; getDefaultWorkspaceId(): string | undefined; validateTimeEntry(start: Date, end?: Date): { valid: boolean; error?: string; }; } export declare const config: ConfigurationManager; //# sourceMappingURL=index.d.ts.map