neurolink
neurolink copied to clipboard
TD-005: Unused ProviderMultimodalPayload Type
Summary
The ProviderMultimodalPayload type is not actively used by any provider implementations. Providers use SDK-specific types instead.
Root Cause
- Generic type created but providers use SDK-specific types
- Overly generic with
[key: string]: unknowndefeating type safety - No migration path to remove unused types
Fix
Deprecate with comprehensive migration guide:
/**
* @deprecated This generic type is not actively used by NeuroLink providers.
* It will be removed in v9.0.0. Use provider-specific SDK types instead.
*
* ## Migration Guide
* - OpenAI: `import type { ChatCompletionMessageParam } from 'openai';`
* - Anthropic: `import type { MessageParam } from '@anthropic-ai/sdk';`
* - Google AI: `import type { Content } from '@google/generative-ai';`
*/
Acceptance Criteria
- [ ]
@deprecatedtag added - [ ] Migration guide for 6+ providers
- [ ] Added to CHANGELOG.md
- [ ] Added to docs/MIGRATION.md
- [ ] Type still compiles (backward compatibility)
Files to Modify
src/lib/types/multimodal.ts(lines 297-305)CHANGELOG.mddocs/MIGRATION.md(create if needed)