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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗