fix: address cubic review issues - abort handling, error metadata, logger binding
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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" }),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user