Files
vessel/frontend/src/lib/utils/index.ts
vikingowl 4758fa8c52 feat: add native thinking mode, file uploads, and model capability icons
Thinking mode:
- Add native Ollama `think: true` API parameter support
- Create ThinkingBlock component with collapsible UI and streaming indicator
- Allow expanding/collapsing thinking blocks during streaming
- Pass showThinking prop through component chain to hide when disabled
- Auto-generate smart chat titles using LLM after first response

File uploads:
- Add FileUpload component supporting images, text files, and PDFs
- Create FilePreview component for non-image attachments
- Add file-processor utility for text extraction and PDF parsing
- Text/PDF content injected as context for all models

Model capabilities:
- Add ModelCapabilityIcons component showing vision/tools/code badges
- Detect model capabilities from name patterns in models store
- Display capability icons in model selector dropdown

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 23:05:08 +01:00

44 lines
736 B
TypeScript

/**
* Utils index
* Re-exports all utility functions
*/
export {
type ExportFormat,
type ExportedConversation,
type ExportedMessage,
type ShareableData,
exportAsMarkdown,
exportAsJSON,
generatePreview,
downloadFile,
generateFilename,
exportConversation,
createShareableData,
encodeShareableData,
decodeShareableData,
generateShareUrl,
copyToClipboard
} from './export.js';
export {
keyboardShortcuts,
isPrimaryModifier,
getPrimaryModifierDisplay,
formatShortcut,
getShortcuts,
type Shortcut,
type Modifiers
} from './keyboard.js';
export {
detectFileType,
readTextFile,
processImage,
extractPdfText,
processFile,
formatFileSize,
getFileIcon,
formatAttachmentsForMessage
} from './file-processor.js';