Sachin Sharma
Sachin Sharma
## Summary No image compression before sending to API, wasting bandwidth and tokens. ## Fix Implement compression using sharp library with configurable quality. ## Acceptance Criteria - [ ] Add...
## Bug Summary supportsTools() is static per provider, but should check model-specific capabilities. O1 models don't support tools. ## Root Cause File: src/lib/core/baseProvider.ts (lines 122-129) supportsTools() returns true by default....
## Bug Summary Different providers use different timeout values with no centralized configuration. ## Root Cause Files: src/lib/core/constants.ts, src/lib/core/baseProvider.ts - constants.ts: DEFAULT_TIMEOUT = 60000 - baseProvider.ts: defaultTimeout = 30000 -...
## Summary Switch statement only handles 6 providers but VISION_CAPABILITIES defines 10+ providers, causing "Vision not supported" errors for bedrock, mistral, litellm. ## Root Cause Lines 228-251 only have cases...
## Summary Data URI validation only checks for 'data:' prefix and 'base64,' delimiter. ## Root Cause Lines 420-426 minimal validation without MIME type or base64 content validation. ## Fix Use...
## Bug Summary No health check mechanism exists. Errors surface during API calls instead of early validation. ## Root Cause File: src/lib/core/baseProvider.ts No checkHealth() method. Providers don't validate config/connectivity on...
## Summary URL downloader accepts responses with content-length: 0, resulting in empty downloads. ## Root Cause Lines 551-554 don't check if content-length is 0. ## Fix Add check if len...
## Bug Summary No centralized model name normalization. Users must know exact format per provider. ## Root Cause Files: src/lib/providers/*.ts Model names accepted as-is with no validation or normalization. ##...
## Bug Summary Multiple PDFs for Bedrock may all receive same generic name like "document", causing filename collisions. ## Root Cause In messageBuilder.ts, when processing multiple PDFs without explicit filenames,...
## Bug Summary Different providers return errors in different formats, making programmatic error handling difficult. ## Root Cause File: src/lib/types/errors.ts, src/lib/providers/*.ts ProviderError class exists but not uniformly used. Some providers...