neurolink icon indicating copy to clipboard operation
neurolink copied to clipboard

TD-005: Unused ProviderMultimodalPayload Type

Open murdore opened this issue 1 month ago • 0 comments

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]: unknown defeating 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

  • [ ] @deprecated tag 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.md
  • docs/MIGRATION.md (create if needed)

murdore avatar Dec 01 '25 02:12 murdore