118 lines
3.0 KiB
TypeScript
118 lines
3.0 KiB
TypeScript
/**
|
|
* Unified exports for all utility functions
|
|
* Import utilities from '$lib/utils' for cleaner imports
|
|
*
|
|
* For browser-only utilities (pdf-processing, audio-recording, svg-to-png,
|
|
* webp-to-png, process-uploaded-files, convert-files-to-extra), use:
|
|
* import { ... } from '$lib/utils/browser-only'
|
|
*/
|
|
|
|
// API utilities
|
|
export { getAuthHeaders, getJsonHeaders } from './api-headers';
|
|
export { apiFetch, apiFetchWithParams, apiPost, type ApiFetchOptions } from './api-fetch';
|
|
export { validateApiKey } from './api-key-validation';
|
|
|
|
// Attachment utilities
|
|
export { getAttachmentDisplayItems } from './attachment-display';
|
|
export { isTextFile, isImageFile, isPdfFile, isAudioFile } from './attachment-type';
|
|
|
|
// Textarea utilities
|
|
export { default as autoResizeTextarea } from './autoresize-textarea';
|
|
|
|
// Branching utilities
|
|
export {
|
|
filterByLeafNodeId,
|
|
findLeafNode,
|
|
findDescendantMessages,
|
|
getMessageSiblings,
|
|
getMessageDisplayList,
|
|
hasMessageSiblings,
|
|
getNextSibling,
|
|
getPreviousSibling
|
|
} from './branching';
|
|
|
|
// Config helpers
|
|
export { setConfigValue, getConfigValue, configToParameterRecord } from './config-helpers';
|
|
|
|
// Conversation utilities
|
|
export { createMessageCountMap, getMessageCount } from './conversation-utils';
|
|
|
|
// Clipboard utilities
|
|
export {
|
|
copyToClipboard,
|
|
copyCodeToClipboard,
|
|
formatMessageForClipboard,
|
|
parseClipboardContent,
|
|
hasClipboardAttachments
|
|
} from './clipboard';
|
|
|
|
// File preview utilities
|
|
export { getFileTypeLabel } from './file-preview';
|
|
export { getPreviewText } from './text';
|
|
|
|
// File type utilities
|
|
export {
|
|
getFileTypeCategory,
|
|
getFileTypeCategoryByExtension,
|
|
getFileTypeByExtension,
|
|
isFileTypeSupported
|
|
} from './file-type';
|
|
|
|
// Formatting utilities
|
|
export {
|
|
formatFileSize,
|
|
formatParameters,
|
|
formatNumber,
|
|
formatJsonPretty,
|
|
formatTime,
|
|
formatPerformanceTime
|
|
} from './formatters';
|
|
|
|
// IME utilities
|
|
export { isIMEComposing } from './is-ime-composing';
|
|
|
|
// LaTeX utilities
|
|
export { maskInlineLaTeX, preprocessLaTeX } from './latex-protection';
|
|
|
|
// Modality file validation utilities
|
|
export {
|
|
isFileTypeSupportedByModel,
|
|
filterFilesByModalities,
|
|
generateModalityErrorMessage
|
|
} from './modality-file-validation';
|
|
|
|
// Model name utilities
|
|
export { normalizeModelName, isValidModelName } from './model-names';
|
|
|
|
// Portal utilities
|
|
export { portalToBody } from './portal-to-body';
|
|
|
|
// Precision utilities
|
|
export { normalizeFloatingPoint, normalizeNumber } from './precision';
|
|
|
|
// Syntax highlighting utilities
|
|
export { getLanguageFromFilename } from './syntax-highlight-language';
|
|
|
|
// Text file utilities
|
|
export { isTextFileByName, readFileAsText, isLikelyTextFile } from './text-files';
|
|
|
|
// Debounce utilities
|
|
export { debounce } from './debounce';
|
|
|
|
// Image error fallback utilities
|
|
export { getImageErrorFallbackHtml } from './image-error-fallback';
|
|
|
|
// MCP utilities
|
|
export {
|
|
detectMcpTransportFromUrl,
|
|
parseMcpServerSettings,
|
|
getMcpLogLevelIcon,
|
|
getMcpLogLevelClass
|
|
} from './mcp';
|
|
|
|
// Header utilities
|
|
export { parseHeadersToArray, serializeHeaders } from './headers';
|
|
|
|
// Favicon utilities
|
|
export { getFaviconUrl } from './favicon';
|