35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# Handover — Session 1 (2026-07-01)
|
|||
|
|
|
||
|
|
## Current state
|
||
|
|
|
||
|
|
Plan created for OpenCode v1.17.12 SDK migration. No code changes made yet.
|
||
|
|
|
||
|
|
## What was done
|
||
|
|
|
||
|
|
1. Verified SDK v1.17.9 types against v1.17.12 release notes
|
||
|
|
2. Identified 3 actually-new methods: `session.interrupt()`, `session.events()`, `session.permission`
|
||
|
|
3. Identified 2 existing-but-unused: `Session3.messages()` with cursor, `Session3.message()`
|
||
|
|
4. Created 4-phase plan with implementation details
|
||
|
|
5. Created 4 GitHub issues (#1968, #1969, #1971, #1972)
|
||
|
|
6. Created 4 draft PRs (#1973, #1974, #1976, #1977)
|
||
|
|
7. Answered bot questions on all issues
|
||
|
|
|
||
|
|
## Key findings
|
||
|
|
|
||
|
|
- `session.interrupt()` is the highest-impact change — fixes abort propagation to upstream provider
|
||
|
|
- `session.events()` and `session.permission` must be verified in SDK types before implementation
|
||
|
|
- `Session3` API has different parameter shape than `Session2` — `directory` is client-scoped, `before` replaced by `cursor`
|
||
|
|
- `global.event()` is already used correctly — no changes needed
|
||
|
|
- Custom WebSocket/SSE in `event-pipeline.ts` is OpenChamber-specific (coalescing, routing, backpressure) — not a replacement for SDK
|
||
|
|
|
||
|
|
## Next safe action
|
||
|
|
|
||
|
|
1. Bump `@opencode-ai/sdk` to `^1.17.12` and run `bun install`
|
||
|
|
2. Verify new SDK types exist (`session.interrupt`, `session.events`, `session.permission`)
|
||
|
|
3. Start Phase 1: replace `session.abort()` → `session.interrupt()` in 3 call sites
|
||
|
|
|
||
|
|
## Blockers
|
||
|
|
|
||
|
|
- SDK v1.17.12 must be published and installable
|
||
|
|
- `session.events()` and `session.permission` existence unconfirmed
|