fix: add native turn lifecycle and stabilize opencode session flow

This commit is contained in:
Nathan Flurry 2026-02-07 20:24:21 -08:00
parent 2b0507c3f5
commit 91cac052b8
35 changed files with 1688 additions and 486 deletions

View file

@ -29,7 +29,7 @@ const sessionId = `session-${crypto.randomUUID()}`;
await client.createSession(sessionId, {
agent: "claude",
agentMode: "code", // Optional: agent-specific mode
permissionMode: "default", // Optional: "default" | "plan" | "bypass"
permissionMode: "default", // Optional: "default" | "plan" | "bypass" | "acceptEdits" (Claude: accept edits; Codex: auto-approve file changes; others: default)
model: "claude-sonnet-4", // Optional: model override
});
```
@ -155,6 +155,16 @@ function handleEvent(event: UniversalEvent) {
break;
}
case "turn.started": {
// Turn began (useful for showing per-turn loading state)
break;
}
case "turn.ended": {
// Turn completed (useful for ending per-turn loading state)
break;
}
case "error": {
const { message, code } = event.data as ErrorData;
// Display error to user