fix: isolate agentrun runner sessions

This commit is contained in:
Codex
2026-06-01 20:17:24 +08:00
parent c03d22cc29
commit d97f442fbc
2 changed files with 17 additions and 5 deletions
+10 -5
View File
@@ -20,6 +20,7 @@ const DEFAULT_RUNNER_NAMESPACE = "agentrun-v01";
const DEFAULT_TIMEOUT_MS = 1_200_000;
const AGENTRUN_BACKENDS = Object.freeze(["codex", "deepseek"]);
const THREAD_CONTINUITY_POLICY = "hwlab-agentrun-v01-new-runner-thread";
const SESSION_POLICY_RUN_LOCAL = "hwlab-agentrun-v01-run-local-session";
export function codeAgentAgentRunAdapterEnabled(env = process.env) {
const value = String(env.HWLAB_CODE_AGENT_ADAPTER ?? env.HWLAB_CODE_AGENT_PROVIDER ?? "").trim().toLowerCase();
@@ -36,7 +37,7 @@ export function initialAgentRunChatResult({ params = {}, options = {}, traceId }
shortConnection: true,
traceId,
conversationId: safeConversationId(params.conversationId) || null,
sessionId: agentRunSessionId(params, traceId),
sessionId: safeSessionId(params.sessionId) || agentRunSessionId(traceId),
threadId: safeOpaqueId(params.threadId) || null,
messageId: `msg_${safeTraceId(traceId)?.slice(4) || randomUUID()}`,
createdAt: timestamp,
@@ -324,14 +325,16 @@ function buildAgentRunCreateRunInput({ params, env, traceId, backendProfile }) {
valuesPrinted: false
},
sessionRef: {
sessionId: agentRunSessionId(params, traceId),
sessionId: agentRunSessionId(traceId),
...(safeConversationId(params.conversationId) ? { conversationId: safeConversationId(params.conversationId) } : {}),
metadata: {
adapter: ADAPTER_ID,
hwlabTraceId: traceId,
hwlabApi: "/v1/agent/chat",
hwlabSessionId: safeSessionId(params.sessionId) || null,
requestedThreadId: safeOpaqueId(params.threadId) || null,
threadContinuityPolicy: THREAD_CONTINUITY_POLICY,
sessionPolicy: SESSION_POLICY_RUN_LOCAL,
valuesPrinted: false
}
},
@@ -367,10 +370,12 @@ function buildAgentRunCommandInput({ params, traceId, backendProfile }) {
message: prompt,
traceId,
conversationId: safeConversationId(params.conversationId) || null,
sessionId: agentRunSessionId(params, traceId),
sessionId: agentRunSessionId(traceId),
hwlabSessionId: safeSessionId(params.sessionId) || null,
threadId: null,
requestedThreadId: safeOpaqueId(params.threadId) || null,
threadContinuityPolicy: THREAD_CONTINUITY_POLICY,
sessionPolicy: SESSION_POLICY_RUN_LOCAL,
providerProfile: backendProfile,
source: "hwlab-cloud-api",
valuesPrinted: false
@@ -655,8 +660,8 @@ function agentRunResultRefs(result = {}) {
return refs;
}
function agentRunSessionId(params, traceId) {
return safeSessionId(params.sessionId) || `ses_agentrun_${String(safeTraceId(traceId) || `trc_${randomUUID()}`).slice(4)}`;
function agentRunSessionId(traceId) {
return `ses_agentrun_${String(safeTraceId(traceId) || `trc_${randomUUID()}`).slice(4)}`;
}
function agentRunSessionSummary(base, status) {