Peter Steinberger
76ee87539e
feat: detect external human turns in adopted Pi and OpenCode sessions ( #113957 )
...
* feat(plugins): support additional upstream session kinds
* feat(acpx): monitor upstream Pi sessions
* feat(opencode): monitor upstream OpenCode sessions
* fix(opencode): ignore hidden user text activity
* refactor(plugins): share upstream echo filtering
* fix(opencode): preserve marker tuple narrowing
* refactor(opencode): detect upstream turns via event_sequence cursor
Replace timestamp/grace-window completeness heuristics with OpenCode's own
per-session event_sequence.seq cursor, which advances inside the same
transaction as the message/part projections. Detects change instead of
inferring completion, so staged part writes can no longer drop a turn.
Handles cursor regression from OpenCode migrations that clear event_sequence,
suppresses compaction replay and summary re-publish, and restricts human-turn
classification to visible non-synthetic text.
* docs(plugins): record why the adoption coordinator requires complete
* fix(opencode): align cursor proof with strict types
* fix(acpx): keep Pi JSON parser private
2026-07-25 19:05:22 -07:00
Peter Steinberger
e19841c725
feat: continue Pi and OpenCode sessions from the session catalog ( #113718 )
...
* feat(plugins): add acpSessionBinding seam for ACP session adoption
* feat(acpx,opencode): adopt existing Pi and OpenCode sessions from the catalog
* fix(ci): satisfy dead-code and temp-path guards
* docs(acpx): record why pi-acp session-root resolution stays strict
2026-07-25 08:35:47 -07:00
Peter Steinberger
3b84a55d99
refactor(protocol): pre-publish cheat-window cleanup and vintage tracking ( #111041 )
...
* fix(codex): drain dynamic-tool handlers before side-thread cleanup
* refactor(protocol): rename question ids to questionId and flatten answer maps
* refactor(protocol): slim worker stack and unify session-catalog shapes
* refactor(protocol): delete dead public surface and polish packaging
* feat(protocol): track release-train vintage on gateway methods and schemas
* fix(apps): align question surfaces merged from main with reshaped protocol
* test(health): shape secret fixtures to scanner-safe token names
* test(health): use scanner-safe token fixtures
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(ci): prove reshaped protocol in shallow checks
* fix(ui): align sidebar question fixtures with protocol
* fix(apps): read flat Swift question answers
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(apps): refresh native question inventory
* fix(apps): align macOS snapshot fixtures with protocol
* fix(ui): align narration question fixture with protocol
2026-07-19 04:07:15 -07:00
mushuiyu886
d411559dfb
fix(acp): reject malformed session list cursors ( #107895 )
...
* fix(acp): reject malformed session list cursors
* fix(session-catalog): validate pagination cursors exactly
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
* refactor(session-catalog): align search normalization owner
* refactor(session-catalog): keep parsing helpers private
Co-authored-by: 杨浩宇0668001029 <yang.haoyu@xydigit.com >
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-19 00:38:02 +01:00
Peter Steinberger
e7cba0e4d5
fix: provider dead exports no longer block changed checks ( #108592 )
...
* fix(ci): clean provider dead exports
* test(extensions): satisfy provider contract types
* refactor(openai): tighten provider runtime factory
2026-07-15 22:33:54 -07:00
Peter Steinberger
026b688161
refactor(session-catalog): normalize search at gateway ( #108240 )
...
Co-authored-by: Leon-SK668 <0668001470@xydigit.com >
2026-07-15 03:38:05 -07:00
Peter Steinberger
6eda184f27
refactor: simplify native session executable resolution ( #108169 )
2026-07-15 01:49:45 -07:00
Leon-SK668
42d42703e6
fix(session-catalog): keep searches UTF-16 safe ( #107719 )
2026-07-15 01:16:01 -07:00
Peter Steinberger
57d926b4fd
fix: connect resumed native terminals reliably ( #107688 )
...
* fix: render resumed paired-node terminals
* fix(control-ui): connect native catalog terminals reliably
* chore: keep release notes in PR body
* fix(control-ui): require terminal reconnect cancellation
* fix(gateway): cancel timed-out terminal opens safely
* fix(control-ui): recover stalled terminal opens
* chore(ui): refresh i18n fallback baseline
* fix: preserve login shell path for resumed terminals
* refactor(plugin-sdk): avoid extra resolver export
* fix(gateway): normalize terminal open failures
* test(control-ui): split terminal readiness coverage
* docs: explain catalog terminal PATH restoration
* fix(control-ui): complete terminal readiness release gates
* fix(ci): remove unused shell resolver exports
* chore(plugin-sdk): refresh API baseline after rebase
2026-07-14 19:18:19 -07:00
Peter Steinberger
e0b52a9618
feat: resume OpenCode and Pi sessions in terminal ( #107200 )
...
* feat: resume OpenCode and Pi sessions in terminal
* refactor: keep Pi session commands internal
2026-07-13 23:54:40 -07:00
Peter Steinberger
05fb55eb7b
feat: discover OpenCode and Pi sessions on paired nodes ( #106941 )
...
* feat(sessions): add opencode and pi catalogs
* fix(sessions): satisfy catalog lint
* fix(sessions): validate pi storage paths
* fix(sessions): index growing pi transcripts
* refactor(sessions): split pi path resolution
* docs(sessions): refresh catalog map
* refactor(sessions): privatize pi catalog internals
* fix(sessions): validate node catalog payloads
* fix(sessions): harden external catalog discovery
* fix(sessions): normalize catalog transcript data
* refactor(gateway): keep node scope gate compact
* fix(opencode): reject option-like session ids
* fix(sessions): align external id validation
2026-07-13 21:45:53 -07:00