fix(#1379): send only contract params in subagent.tail (#1383)

This commit is contained in:
m57 authored and GitHub committed 2026-09-29 17:04:10 +03:00
1 parent aac42032fb
commit 1dd8d2138d
4 files changed
+46 -15

No files matched your search

@@ -55,17 +55,14 @@ object SubagentRepository {
suspend fun tailSubagent(
sessionId: String,
subagentId: String,
maxBytes: Int = 16384,
): SubagentTailResponse? {
if (subagentId.isBlank()) return null
// Contract (SubagentIdParams): session_id and subagent_id are required, extra keys forbidden (#1379).
if (subagentId.isBlank() || sessionId.isBlank()) return null
val params =
mutableMapOf<String, Any>(
mapOf<String, Any>(
"session_id" to sessionId,
"subagent_id" to subagentId,
"max_bytes" to maxBytes,
)
if (sessionId.isNotBlank()) {
params["session_id"] = sessionId
}
val result =
HermesWsClient
.request(
@@ -27,7 +27,6 @@ class ChatSubagentsDelegate(
) {
companion object {
private const val TAG = "ChatSubagentsDelegate"
const val SUBAGENT_TAIL_MAX_BYTES = 16384
}
private var pollingJob: Job? = null
@@ -130,7 +129,6 @@ class ChatSubagentsDelegate(
subagentRepository.tailSubagent(
sessionId = sessionId,
subagentId = subagentId,
maxBytes = SUBAGENT_TAIL_MAX_BYTES,
)
if (tailResponse != null) {