Brings the latest dev (45 commits) into v2. Conflict resolutions:
- core/src/session.ts: keep v2's Service (BusyError active-checks in
revert.stage/clear/commit, rename method + Renamed event) and add
dev's history method. v2's Renamed event flows through the merged
SessionEvent.Definitions into the OpenCodeEvent union, so it encodes
correctly on the SSE stream.
- server/src/handlers/event.ts: take dev's OpenCodeEvent encoder, which
supersedes v2's PublicEventManifest handler wiring. This also brings
dev's live event stream (allBounded + heartbeat + keepalive headers)
onto v2.
- Removed the now-orphaned public-event-manifest.ts (only self-referenced
after taking dev's handler).
- Generated client + sdk types regenerated via codegen (not hand-merged);
they pick up dev's effect SSE OpenAPI-naming patch (V2EventStream).
Cherry-picks the packages/core changes from the v2 branch onto dev:
- combined ordered stdout/stderr in AppProcess + bash structured output
- edit/apply-patch return FileDiff info with status and line stats
- ignore no-op model switches; record reasoning timestamps
- return unexpected local tool defects to the model and continue
- keep OAuth account metadata out of request bodies
- nest OpenAI reasoning effort/summary options
- load OpenCode provider config asynchronously; batch plugin boot
- export latest public event manifest
Includes the supporting schema reasoning time field and regenerated
client/SDK types.