Librechat-Mobile/.claude/skills/sync-upstream/reference/model-mapping.md

4 KiB

Model Mapping: Official TypeScript → Android Kotlin

Maps official TypeScript types from packages/data-provider/src/ to Android Kotlin data classes in core/model/.

Core Models (Implemented)

TypeScript Type Kotlin Class File Notes
TMessage Message Message.kt Includes sender, text, children, content parts
TConversation Conversation Conversation.kt Core conversation metadata
TConversationTag ConversationTag ConversationTag.kt Tag/bookmark on conversations
TPreset Preset Preset.kt Saved endpoint configurations
TPromptGroup / TPrompt Prompt Prompt.kt Prompts library entries
TSharedLink SharedLink SharedLink.kt Shared conversation links
TStartupConfig StartupConfig StartupConfig.kt /api/config response
TEndpointConfig EndpointConfig EndpointConfig.kt Per-endpoint configuration
EModelEndpoint Endpoint Endpoint.kt Enum of supported endpoints
TUser User User.kt User profile data
TBalance Balance Balance.kt Token balance
TBanner Banner Banner.kt System banner messages
TFile FileModel FileModel.kt Uploaded file metadata
Agent Agent Agent.kt Agent definition
AgentExpanded AgentExpanded AgentExpanded.kt Agent with full details
PaginatedAgents PaginatedAgents PaginatedAgents.kt Paginated agent list response
AgentCategory AgentCategory AgentCategory.kt Agent marketplace categories
TMemory Memory Memory.kt Memory/context entries
TUserKey UserKey UserKey.kt User API keys
ApiKey ApiKey ApiKey.kt API key management

SSE/Streaming Models (Android-specific)

Kotlin Class File Purpose
StreamEvent StreamEvent.kt Sealed class for SSE event types
SseContentEvent SseContentEvent.kt Content delta events during streaming
ToolCallRecord ToolCallRecord.kt Tool call progress tracking
ToolCallResult ToolCallResult.kt Tool call completion data
ToolAuthStatus ToolAuthStatus.kt Tool authentication state

Android-Only Models

Kotlin Class File Purpose
ServerConnection ServerConnection.kt Saved server URL + metadata
LoginOutcome LoginOutcome.kt Auth flow result sealed class
ConversationExport ConversationExport.kt Export/import format
Feedback Feedback.kt Message feedback (thumbs up/down)
SupportContact SupportContact.kt Help/support info
MessageContentPart MessageContentPart.kt Rich content (text, image, file)
ParameterDefinition ParameterDefinition.kt Model parameter config
AgentAction AgentAction.kt Agent action definitions
AgentTool AgentTool.kt Agent tool definitions

Key Type Sources in Official Repo

File Contains
packages/data-provider/src/types.ts Main type exports
packages/data-provider/src/types/queries.ts React Query response types
packages/data-provider/src/types/mutations.ts Mutation request/response types
packages/data-provider/src/types/agents.ts Agent-specific types
packages/data-provider/src/types/files.ts File-related types
packages/data-provider/src/types/runs.ts Run/streaming types
packages/data-provider/src/schemas.ts Zod validation schemas
packages/data-provider/src/config.ts Config types and VERSION constant
packages/data-provider/src/api-endpoints.ts Canonical endpoint URL builders — check here first for renames/new routes
packages/data-provider/src/data-service.ts HTTP client functions — actual request shapes sent by the web client
packages/data-provider/src/parsers.ts Request/response parsers; hints at shape normalization
packages/data-provider/src/permissions.ts Permission schemas and role gating