fix: improve device pod trace diagnostics

This commit is contained in:
Codex
2026-05-28 12:22:34 +08:00
parent da06165cac
commit 067ccf6b7e
6 changed files with 200 additions and 27 deletions
+15 -3
View File
@@ -209,18 +209,19 @@ export function createCodeAgentSessionRegistry(options = {}) {
const session = findSession(params);
const conversationId = optionalId(params.conversationId) ?? session?.conversationId ?? session?.conversationIds?.[0] ?? null;
const facts = conversationId ? getConversationFacts(conversationId) : null;
const factsFound = hasConversationFacts(facts);
const requestedTraceId = optionalId(params.traceId);
const traceIds = uniqueStrings([
requestedTraceId,
facts?.latestTraceId,
session?.currentTraceId,
session?.lastTraceId,
...(Array.isArray(facts?.traceIds) ? facts.traceIds : [])
]);
const found = Boolean(session || factsFound || traceIds.length > 0);
return {
ok: Boolean(session || facts || traceIds.length > 0),
ok: found,
action: "code-agent.session.inspect",
status: session || facts ? "found" : "not_found",
status: found ? "found" : "not_found",
query: {
conversationId: optionalId(params.conversationId),
sessionId: optionalId(params.sessionId),
@@ -613,6 +614,17 @@ function uniqueStrings(values) {
return [...new Set(values.map((value) => typeof value === "string" ? value.trim() : "").filter(Boolean))];
}
function hasConversationFacts(facts) {
return Boolean(facts && (
facts.sessionId ||
facts.sessionStatus ||
facts.latestTraceId ||
Number(facts.turnCount) > 0 ||
(Array.isArray(facts.traceIds) && facts.traceIds.length > 0) ||
(Array.isArray(facts.facts) && facts.facts.length > 0)
));
}
function positiveInteger(value, fallback) {
return Number.isInteger(value) && value > 0 ? value : fallback;
}