Implement Conversation Helper API for Multi-Turn Dialogue Management
Resolved 💬 3 comments Opened Oct 20, 2025 by sanchitmonga22 Closed Oct 20, 2025
Priority
MEDIUM
Context
The Conversation Helper API manages multi-turn dialogue state, context, and history. The iOS SDK has ConversationHelper utilities. The Kotlin SDK is missing this API.
Current State
- Status: API does not exist
- Impact: No structured multi-turn conversation support
- iOS Has: ConversationHelper in Public API
iOS Reference Implementation
- API:
sdk/runanywhere-swift/Sources/RunAnywhere/Public/ConversationHelper.swift
Implementation Plan
1. Define Common Interfaces (commonMain)
// commonMain/kotlin/com/runanywhere/sdk/public/ConversationHelper.kt
class ConversationHelper {
private val messages = mutableListOf<Message>()
fun addMessage(role: MessageRole, content: String) {
messages.add(Message(
role = role,
content = content,
timestamp = System.currentTimeMillis()
))
}
fun getHistory(): List<Message> = messages.toList()
fun getContext(maxMessages: Int = 10): List<Message> {
return messages.takeLast(maxMessages)
}
fun clear() {
messages.clear()
}
}
data class Message(
val role: MessageRole,
val content: String,
val timestamp: Long
)
enum class MessageRole {
USER, ASSISTANT, SYSTEM
}
Files to Create/Modify
New Files (commonMain)
- [ ]
public/ConversationHelper.kt - [ ]
public/models/Message.kt - [ ]
public/models/MessageRole.kt
Success Criteria
- [ ] Can manage conversation history
- [ ] Context retrieval works correctly
- [ ] Thread-safe implementation
Estimated Effort
3-5 days
🤖 Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗