/** * Portfolio Tool Configuration Constants * * Centralized configuration for timeout values, file size limits, * retry behavior, and other portfolio-related constants. * * All values can be overridden via environment variables for flexibility. */ /** * Portfolio element metadata interface for type safety */ export interface PortfolioElementMetadata { name: string; description: string; author: string; created: string; updated: string; version: string; } /** * GitHub API timeout configuration * Used for collection submission API calls */ export declare const GITHUB_API_TIMEOUT: { readonly DEFAULT: number; readonly MIN: 5000; readonly MAX: 300000; }; /** * File size limits for portfolio submissions */ export declare const FILE_SIZE_LIMITS: { readonly MAX_FILE_SIZE: number; readonly MAX_FILE_SIZE_MB: 10; }; /** * Retry configuration for API operations */ export declare const RETRY_CONFIG: { readonly MAX_ATTEMPTS: number; readonly INITIAL_DELAY: number; readonly MAX_DELAY: number; readonly BACKOFF_MULTIPLIER: 2; }; /** * Search and similarity matching configuration */ export declare const SEARCH_CONFIG: { readonly MIN_SIMILARITY_SCORE: number; readonly MAX_SUGGESTIONS: number; }; /** * Environment variable names for documentation */ export declare const ENV_VARS: { readonly GITHUB_API_TIMEOUT: "DOLLHOUSE_GITHUB_API_TIMEOUT"; readonly MAX_FILE_SIZE: "DOLLHOUSE_MAX_FILE_SIZE"; readonly MAX_RETRY_ATTEMPTS: "DOLLHOUSE_MAX_RETRY_ATTEMPTS"; readonly INITIAL_RETRY_DELAY: "DOLLHOUSE_INITIAL_RETRY_DELAY"; readonly MAX_RETRY_DELAY: "DOLLHOUSE_MAX_RETRY_DELAY"; readonly MIN_SIMILARITY: "DOLLHOUSE_MIN_SIMILARITY"; readonly MAX_SUGGESTIONS: "DOLLHOUSE_MAX_SUGGESTIONS"; }; /** * Validation helper to ensure timeout is within acceptable bounds */ export declare function getValidatedTimeout(): number; /** * GitHub API rate limiting configuration * Implements client-side rate limiting to respect GitHub's API limits */ export declare const GITHUB_API_RATE_LIMITS: { readonly AUTHENTICATED_LIMIT: number; readonly UNAUTHENTICATED_LIMIT: number; readonly WINDOW_MS: number; readonly MIN_DELAY_MS: number; readonly BUFFER_PERCENTAGE: number; }; /** * Calculate retry delay using exponential backoff */ export declare function calculateRetryDelay(attempt: number): number; //# sourceMappingURL=portfolio-constants.d.ts.map