From 9f6997ef3126531c363146039db66e4925edea8b Mon Sep 17 00:00:00 2001 From: marius-kilocode Date: Thu, 14 May 2026 10:04:55 +0200 Subject: [PATCH] fix(cli): preserve child task attribution --- packages/kilo-gateway/src/api/constants.ts | 1 + packages/kilo-gateway/src/headers.ts | 2 ++ packages/kilo-gateway/src/index.ts | 1 + packages/opencode/src/session/llm.ts | 11 +++++++++-- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/packages/kilo-gateway/src/api/constants.ts b/packages/kilo-gateway/src/api/constants.ts index 44acecfa75d..8c556af15f0 100644 --- a/packages/kilo-gateway/src/api/constants.ts +++ b/packages/kilo-gateway/src/api/constants.ts @@ -65,6 +65,7 @@ export const MODELS_FETCH_TIMEOUT_MS = 10 * 1000 */ export const HEADER_ORGANIZATIONID = "X-KILOCODE-ORGANIZATIONID" export const HEADER_TASKID = "X-KILOCODE-TASKID" +export const HEADER_PARENT_TASKID = "X-KILOCODE-PARENT-TASKID" export const HEADER_PROJECTID = "X-KILOCODE-PROJECTID" export const HEADER_TESTER = "X-KILOCODE-TESTER" export const HEADER_EDITORNAME = "X-KILOCODE-EDITORNAME" diff --git a/packages/kilo-gateway/src/headers.ts b/packages/kilo-gateway/src/headers.ts index e2446ae2353..aaddc274cb0 100644 --- a/packages/kilo-gateway/src/headers.ts +++ b/packages/kilo-gateway/src/headers.ts @@ -1,6 +1,7 @@ import { HEADER_ORGANIZATIONID, HEADER_TASKID, + HEADER_PARENT_TASKID, HEADER_PROJECTID, HEADER_TESTER, HEADER_EDITORNAME, @@ -21,6 +22,7 @@ import { */ export const X_KILOCODE_ORGANIZATIONID = HEADER_ORGANIZATIONID export const X_KILOCODE_TASKID = HEADER_TASKID +export const X_KILOCODE_PARENT_TASKID = HEADER_PARENT_TASKID export const X_KILOCODE_PROJECTID = HEADER_PROJECTID export const X_KILOCODE_TESTER = HEADER_TESTER export const X_KILOCODE_EDITORNAME = HEADER_EDITORNAME diff --git a/packages/kilo-gateway/src/index.ts b/packages/kilo-gateway/src/index.ts index cfd97e06e90..e84cb0c7dcf 100644 --- a/packages/kilo-gateway/src/index.ts +++ b/packages/kilo-gateway/src/index.ts @@ -100,6 +100,7 @@ export { MODELS_FETCH_TIMEOUT_MS, HEADER_ORGANIZATIONID, HEADER_TASKID, + HEADER_PARENT_TASKID, HEADER_PROJECTID, HEADER_TESTER, HEADER_EDITORNAME, diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index 074c475b76f..fed131b9795 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -22,7 +22,13 @@ import { Auth } from "@/auth" // kilocode_change start import { DEFAULT_HEADERS } from "@/kilocode/const" import { getKiloProjectId } from "@/kilocode/project-id" -import { HEADER_FEATURE, HEADER_PROJECTID, HEADER_MACHINEID, HEADER_TASKID } from "@kilocode/kilo-gateway" +import { + HEADER_FEATURE, + HEADER_PARENT_TASKID, + HEADER_PROJECTID, + HEADER_MACHINEID, + HEADER_TASKID, +} from "@kilocode/kilo-gateway" import { Identity } from "@kilocode/kilo-telemetry" import { makeRuntime } from "@/effect/run-service" import { KiloSession } from "@/kilocode/session" @@ -421,7 +427,8 @@ const live: Layer.Layer< ...(isKilo && input.agent.name ? { "x-kilocode-mode": input.agent.name.toLowerCase() } : {}), ...(isKilo && kiloProjectId ? { [HEADER_PROJECTID]: kiloProjectId } : {}), ...(isKilo && machineId ? { [HEADER_MACHINEID]: machineId } : {}), - ...(isKilo ? { [HEADER_TASKID]: attr.rootID } : {}), + ...(isKilo ? { [HEADER_TASKID]: input.sessionID } : {}), + ...(isKilo && input.parentSessionID ? { [HEADER_PARENT_TASKID]: input.parentSessionID } : {}), ...(isKilo && attr.feature ? { [HEADER_FEATURE]: attr.feature } : {}), // kilocode_change end ...input.model.headers,