feat: add logging

This commit is contained in:
Alpha Nerd 2026-05-11 15:43:30 +02:00
parent 0e55013d64
commit c961a85add
Signed by: alpha-nerd
SSH key fingerprint: SHA256:QkkAgVoYi9TQ0UKPkiKSfnerZy2h4qhi3SVPXJmBN+M

View file

@ -177,7 +177,9 @@ try {
authConfigDir = await createAuthConfig()
process.env["OPENCODE_AUTH_CONFIG_DIR"] = authConfigDir
proc = spawn(`opencode`, [`serve`, `--hostname=${HOST}`, `--port=${PORT}`])
proc = spawn(`opencode`, [`serve`, `--hostname=${HOST}`, `--port=${PORT}`], {
stdio: ["ignore", "inherit", "inherit"],
})
assertContextEvent("issue_comment", "pull_request_review_comment")
assertPayloadKeyword()
await assertOpencodeConnected()
@ -878,7 +880,16 @@ async function chat(text: string, files: PromptFiles = []) {
body: JSON.stringify(body),
})
const chatData = (await chatRes.json()) as { parts?: unknown[]; data?: { parts?: unknown[] } }
const rawText = await chatRes.text()
if (!chatRes.ok) {
throw new Error(`opencode /chat returned ${chatRes.status} ${chatRes.statusText}: ${rawText.slice(0, 1000)}`)
}
let chatData: { parts?: unknown[]; data?: { parts?: unknown[] } }
try {
chatData = JSON.parse(rawText)
} catch (e) {
throw new Error(`opencode /chat returned non-JSON (status ${chatRes.status}, content-type ${chatRes.headers.get("content-type")}): ${rawText.slice(0, 1000)}`)
}
// Find the last text part in the response
const parts = chatData?.parts || chatData?.data?.parts || []