fix: address cubic review issues - abort handling, error metadata, logger binding

This commit is contained in:
YeonGyu-Kim
2026-03-16 15:18:41 +09:00
parent 40f25fb07d
commit ed92a05e59
3 changed files with 16 additions and 6 deletions
+10 -3
View File
@@ -95,11 +95,18 @@ export async function executeRunSession(
const resolvedModel = resolveRunModel(model)
const abortController = new AbortController()
const startTime = Date.now()
let resolvedSessionId: string | undefined
// Check if signal was already aborted before setting up listener
if (signal?.aborted) {
abortController.abort()
}
const forwardAbort = () => abortController.abort()
signal?.addEventListener("abort", forwardAbort, { once: true })
try {
const resolvedSessionId = await resolveSession({
resolvedSessionId = await resolveSession({
client,
sessionId,
directory,
@@ -182,12 +189,12 @@ export async function executeRunSession(
const serialized = serializeError(error)
await eventObserver?.onEvent?.({
type: "session.error",
sessionId: sessionId ?? "",
sessionId: resolvedSessionId ?? sessionId ?? "",
error: serialized,
})
await eventObserver?.onError?.({
type: "session.error",
sessionId: sessionId ?? "",
sessionId: resolvedSessionId ?? sessionId ?? "",
error: serialized,
})
throw error
+1 -1
View File
@@ -26,7 +26,7 @@ async function startServer(options: {
logger?: RunLogger
}): Promise<ServerConnection> {
const { signal, port, logger } = options
const log = logger?.log ?? console.log
const log = logger?.log?.bind(logger) ?? console.log
const { client, server } = await withWorkingOpencodePath(() =>
createOpencode({ signal, port, hostname: "127.0.0.1" }),
)