fix(look-at): allow stable idle after sync prompt

This commit is contained in:
YeonGyu-Kim
2026-05-21 12:32:55 +09:00
parent 98d760a5f3
commit 036e04c15b
+21 -11
View File
@@ -86,24 +86,34 @@ Original error: ${createResult.error}`
log("[look_at] Prompt error (ignored, will still fetch messages):", promptError)
}
let observedMessages: unknown[] | undefined
let observedText: string | undefined
if (typeof ctx.client.session.status === "function") {
await waitForLookAtSessionResult(ctx.client, sessionID)
const waitResult = await waitForLookAtSessionResult(ctx.client, sessionID, {
allowStableIdleWithoutActivity: true,
})
observedText = waitResult.outcome.text ?? undefined
if (observedText) {
observedMessages = waitResult.messages
}
}
log(`[look_at] Fetching messages from session ${sessionID}...`)
const messagesResult = await ctx.client.session.messages({
path: { id: sessionID },
})
let messages = observedMessages
if (!messages) {
log(`[look_at] Fetching messages from session ${sessionID}...`)
const messagesResult = await ctx.client.session.messages({
path: { id: sessionID },
})
if (messagesResult.error) {
log("[look_at] Messages error:", messagesResult.error)
return `Error: Failed to get messages: ${messagesResult.error}`
if (messagesResult.error) {
log("[look_at] Messages error:", messagesResult.error)
return `Error: Failed to get messages: ${messagesResult.error}`
}
messages = messagesResult.data
}
const messages = messagesResult.data
log(`[look_at] Got ${messages.length} messages`)
const responseText = extractLatestAssistantText(messages)
const responseText = observedText ?? extractLatestAssistantText(messages)
if (!responseText) {
log("[look_at] No assistant message found")
return "Error: No response from multimodal-looker agent"