diff --git a/src/agents/pi-embedded-runner.ts b/src/agents/pi-embedded-runner.ts index 49ee978bb..d271a063f 100644 --- a/src/agents/pi-embedded-runner.ts +++ b/src/agents/pi-embedded-runner.ts @@ -512,14 +512,14 @@ export async function runEmbeddedPiAgent(params: { let abortWarnTimer: NodeJS.Timeout | undefined; const abortTimer = setTimeout( () => { - defaultRuntime.warn?.( + defaultRuntime.log( `embedded run timeout: runId=${params.runId} sessionId=${params.sessionId} timeoutMs=${params.timeoutMs}`, ); abortRun(); if (!abortWarnTimer) { abortWarnTimer = setTimeout(() => { if (!session.isStreaming) return; - defaultRuntime.warn?.( + defaultRuntime.log( `embedded run abort still streaming: runId=${params.runId} sessionId=${params.sessionId}`, ); }, 10_000); diff --git a/src/auto-reply/reply.ts b/src/auto-reply/reply.ts index 0daa397db..f72266670 100644 --- a/src/auto-reply/reply.ts +++ b/src/auto-reply/reply.ts @@ -802,7 +802,7 @@ export async function getReplyFromConfig( } typingTtlTimer = setTimeout(() => { if (!typingTimer) return; - defaultRuntime.warn?.( + defaultRuntime.log( `typing TTL reached (${typingTtlMs}ms); stopping typing indicator`, ); cleanupTyping(); diff --git a/src/gateway/client.ts b/src/gateway/client.ts index 3867b1f1c..6ae6a67d7 100644 --- a/src/gateway/client.ts +++ b/src/gateway/client.ts @@ -146,7 +146,11 @@ export class GatewayClient { const pending = this.pending.get(parsed.id); if (!pending) return; // If the payload is an ack with status accepted, keep waiting for final. - const status = parsed.payload?.status; + const payload = parsed.payload; + const status = + payload && typeof payload === "object" && "status" in payload + ? (payload as { status?: unknown }).status + : undefined; if (pending.expectFinal && status === "accepted") { return; }