fix: isolate agentrun runner sessions
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user