@agentman/chat-widget
Version:
Agentman Chat Widget for easy integration with web applications
75 lines (74 loc) • 2.79 kB
TypeScript
export declare const UI_CONSTANTS: {
readonly HEADER_HEIGHT: 54;
readonly INPUT_MIN_HEIGHT: 32;
readonly INPUT_MAX_HEIGHT: 120;
readonly TOGGLE_BUTTON_SIZE: 56;
readonly AVATAR_SIZE: 32;
readonly ICON_SIZE: 18;
readonly MOBILE_BREAKPOINT: 480;
readonly TABLET_BREAKPOINT: 768;
readonly DESKTOP_BREAKPOINT: 1024;
readonly TRANSITION_FAST: 150;
readonly TRANSITION_NORMAL: 300;
readonly TRANSITION_SLOW: 500;
readonly RESIZE_DEBOUNCE: 100;
readonly INPUT_DEBOUNCE: 200;
readonly SEARCH_DEBOUNCE: 300;
readonly MAX_MESSAGE_LENGTH: 4000;
readonly MAX_ATTACHMENT_SIZE: number;
readonly MAX_ATTACHMENTS: 5;
readonly BUTTON_GAP: 2;
readonly CONTENT_PADDING: 16;
readonly SMALL_PADDING: 8;
readonly LARGE_PADDING: 24;
readonly LOADING_TIMEOUT: 30000;
readonly PROMPT_DELAY: 200;
readonly ANIMATION_DELAY: 100;
readonly PRIMARY_COLOR: "#2563eb";
readonly SUCCESS_COLOR: "#10b981";
readonly ERROR_COLOR: "#ef4444";
readonly WARNING_COLOR: "#f59e0b";
readonly MUTED_COLOR: "#6b7280";
readonly Z_INDEX_TOGGLE: 1000;
readonly Z_INDEX_WIDGET: 1001;
readonly Z_INDEX_MODAL: 1002;
readonly Z_INDEX_TOOLTIP: 1003;
};
export declare const API_CONSTANTS: {
readonly CAPABILITIES_ENDPOINT: "/api/agent/capabilities";
readonly DEFAULT_TIMEOUT: 30000;
readonly UPLOAD_TIMEOUT: 120000;
readonly STREAM_TIMEOUT: 60000;
readonly MAX_RETRIES: 3;
readonly RETRY_DELAY: 1000;
readonly RETRY_BACKOFF: 2;
readonly MAX_REQUESTS_PER_MINUTE: 60;
readonly RATE_LIMIT_WINDOW: 60000;
readonly MAX_RESPONSE_SIZE: number;
readonly MAX_JSON_SIZE: number;
};
export declare const STORAGE_CONSTANTS: {
readonly CONVERSATIONS_KEY: "am_conversations";
readonly THEME_KEY: "am_theme";
readonly SETTINGS_KEY: "am_settings";
readonly MAX_CONVERSATIONS: 100;
readonly MAX_MESSAGES_PER_CONVERSATION: 1000;
readonly STORAGE_CLEANUP_THRESHOLD: 80;
readonly CONVERSATION_TTL: number;
readonly CACHE_TTL: number;
};
export declare const VALIDATION_CONSTANTS: {
readonly MIN_MESSAGE_LENGTH: 1;
readonly MAX_MESSAGE_LENGTH: 4000;
readonly MIN_TITLE_LENGTH: 1;
readonly MAX_TITLE_LENGTH: 100;
readonly ALLOWED_IMAGE_TYPES: readonly ["image/jpeg", "image/png", "image/gif", "image/webp"];
readonly ALLOWED_DOCUMENT_TYPES: readonly ["application/pdf", "text/plain", "application/json"];
readonly MAX_FILE_SIZE: number;
readonly URL_REGEX: RegExp;
readonly EMAIL_REGEX: RegExp;
};
export type UIConstants = typeof UI_CONSTANTS;
export type APIConstants = typeof API_CONSTANTS;
export type StorageConstants = typeof STORAGE_CONSTANTS;
export type ValidationConstants = typeof VALIDATION_CONSTANTS;