Draft: two-way teleport with native CLI sessions - #9
Conversation
…ngdotgg#6572) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…ngdotgg#6654) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Nickolas Kyryliuk <nickolaskyryliuk@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Register the OpenCode adapter so T3 can list, import, and export text turns from opencode.db or JSON storage without treating the live db as a foreign lock. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Register the Grok session-directory adapter so T3 can list, import, and export native Grok Build chats. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Stop marked the turn interrupted but left the session running, so the thread stayed Working after abort hung or only emitted turn.aborted. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
A projected running OpenCode thread stayed Working after Stop if the in-memory provider session was already gone. Interrupt no longer recovers a session just to abort it, and Stop settles the projection when there is nothing live to interrupt. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Keep personal project directories out of the public diff. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Keep personal project directories out of the public diff. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Keep live-session titles and personal directories out of the public diff. Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
- Disable feature-request issue templates - Direct contributors to Ideas discussions for proposals
…#6649) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…sion (pingdotgg#6538) Co-authored-by: tsouth89 <tsouth89@users.noreply.github.com>
Co-authored-by: maria-rcks <254055478+maria-rcks@users.noreply.github.com> Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com>
Co-authored-by: John William Creighton (s243a) <s243a@users.noreply.github.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ngdotgg#6326) Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Thread transfer impact
This comment will update automatically after the next completed run. |
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: Alex Southwell <4596216+saphid@users.noreply.github.com>
Co-authored-by: Simone <185146821+Lucenx9@users.noreply.github.com>
…nment (pingdotgg#7292) Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
…otgg#7286) Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
…pingdotgg#7283) Co-authored-by: Codesmith <codesmith-bot@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: t3-code[bot] <269035359+t3-code[bot]@users.noreply.github.com> Co-authored-by: maria <254055478+maria-rcks@users.noreply.github.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
…/teleport-opencode-1e23 Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
Co-authored-by: aanishbhirud <aanishbhirud@gmail.com>
What Changed
T3 can list, import, and export text turns between a thread and native Codex or Claude CLI session files. Native files stay native. Import copies a CLI session onto a T3 thread via
thread.history.replace. Export writes the thread back. Presence (t3vsnative) swaps Import/Export so both sides are not writers at once.Grok and OpenCode remain in-app providers. Their native CLI teleport formats are not in this PR.
Review follow-ups on this tip:
interruptTurnstill marks the session ready immediately so Stop can leave Working, butsendTurnwaits untilsession.abortfinishes.thread.history-replacedprunes only attachment files previously referenced by that thread, so sanitized thread-id collisions cannot delete another thread's files.homePathuse the provider default home instead of inheriting the default instance./are rejected.acquireUseRelease. Interruptions and post-write failures revert to T3, or persist the real native path if the file was written, instead of leavingteleport-pending:....messagefrom their fields;lockProbeErroris gone. Native writes record astageinstead of a free-form message, and schema-version verify failures remap withcatchTags.Why
Codex and Claude are the native CLIs people actually use, and both write a single jsonl/session file with an atomic writer. Grok and OpenCode teleport were dropped because those CLIs are far less used and the implementations are jankier (Grok's 3-file directory swap, OpenCode's sqlite/JSON dual store and parent-cwd heuristics).
The Grok and OpenCode format work is parked on
cursor/teleport-grok-opencode-archive-4ce4so it can be restored later without reconstructing the adapters.Stack
UI Changes
Import lives on the new-thread / sessions view. Export lives in the chat header. Composer send is disabled while the thread is in the native CLI. Teleport Out uses
cursor-not-allowedwhile busy. Mobile send is disabled on teleported-out threads (no teleport UI).New UI
Hover
Composer disabled after Teleport Out
Recordings
Codex
Claude
Checklist