fix: improve device pod trace diagnostics
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user