forked from pingdotgg/t3code
-
Notifications
You must be signed in to change notification settings - Fork 0
Draft: two-way teleport with native CLI sessions #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
baanish
wants to merge
133
commits into
main
Choose a base branch
from
cursor/teleport-7136-mirror-4ce4
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
133 commits
Select commit
Hold shift + click to select a range
8acf756
feat(teleport): add the import/export engine without native formats
cursoragent 75a3793
feat(teleport): add the import picker and export button
cursoragent 1700d19
feat(teleport): add Codex native session support
cursoragent dbc8452
feat(teleport): add OpenCode native session support
cursoragent 2048109
feat(teleport): add Claude native session support
cursoragent 38eac2f
feat(teleport): add Grok native session support
cursoragent 5062f81
fix(opencode): settle the session when a turn is aborted
cursoragent 9de48da
fix(opencode): unstick Working when Stop has no live session
cursoragent 3620294
test(teleport): use generic fixture paths
cursoragent 6a51d21
test(teleport): use generic fixture paths
cursoragent f86f532
test(teleport): use generic fixture paths
cursoragent 959ef15
test(teleport): use generic fixture paths
cursoragent d24730c
test(teleport): use generic fixture paths
cursoragent 3ac60c2
test(teleport): use generic fixture paths
cursoragent 9594bd8
test(teleport): use generic OpenCode fixture copy
cursoragent 10503d6
merge(teleport): stack UI on sanitized backend
cursoragent 5cca3e4
merge(teleport): stack Codex on UI
cursoragent daccf14
merge(teleport): stack Claude on Codex
cursoragent 0c490e2
merge(teleport): stack Grok on Claude
cursoragent 87fd928
merge(teleport): stack OpenCode on Grok
cursoragent 18ed3c0
Merge branch 'main' into cursor/teleport-opencode-1e23
baanish b3ac6a8
fix(web): match teleport controls to existing header primitives
cursoragent 468bc93
fix(teleport): close lock, path, and projection holes from review
cursoragent 77fbd25
refactor(teleport): collocate TeleportService in one module
cursoragent 9e479d0
fix(web): hide teleport when the server lacks the capability
cursoragent 15193f8
fix(teleport): discover Codex and Claude sessions across instance homes
cursoragent d075c83
fix(teleport): keep busy threads and OpenCode paths from corrupting s…
cursoragent 3b38975
fix(teleport): distinguish lock probes and write to instance homes
cursoragent 95fba97
fix(teleport): keep custom instances on the selected native session
cursoragent d76928b
test(web): drop duplicated teleport capability cases
cursoragent 1cb4f0f
fix(teleport): match existing threads by provider instance
cursoragent ef27858
fix(teleport): write OpenCode sqlite sessions the CLI can resume
cursoragent cb5633b
fix(teleport): keep export from splitting T3 and the native CLI
cursoragent a0c3154
fix(mobile): keep drafts when a thread is in the native CLI
cursoragent 9e1d363
fix(web): show a disabled cursor while teleport is busy
cursoragent 702df18
fix(teleport): keep discovery from mixing CLI homes and transcripts
cursoragent db4a2dc
fix(teleport): apply OpenCode cwd rules to explicit native paths
cursoragent 4f7f53b
fix(teleport): drop Grok and OpenCode native session formats
cursoragent 579dadc
fix(teleport): register native formats through an Effect service
cursoragent 838953a
fix(teleport): probe native locks through ProcessRunner
cursoragent f700884
fix(opencode): wait for abort before accepting a new turn
cursoragent d75a839
fix(orchestration): prune only a thread's own attachments
cursoragent 616a55e
fix(web): list physical projects for teleport import
cursoragent 95c5b6e
fix(teleport): honor empty extra-instance home paths
cursoragent a5966af
fix(opencode): complete the abort gate with Effect 4 APIs
cursoragent 26c6932
fix(opencode): emit one abort for concurrent Stop
cursoragent 276620a
fix(teleport): import worktree threads back into their project
cursoragent f712cbd
fix(teleport): restore presence when export fails after pending
cursoragent 84ea40b
fix(teleport): keep export cleanup from failing the original error
cursoragent 5c6d9e1
fix(teleport): derive error messages and delete failed imports
cursoragent 1fe0b03
fix(teleport): derive write errors from stage
cursoragent b65ca1a
fix(teleport): bind in-place imports before replacing history
cursoragent 5328a96
Merge pingdotgg/t3code main into teleport tip.
cursoragent 6c15543
fix(web): theme TeleportOutButton like other header controls
cursoragent f1ace6f
fix(web): keep teleported-out composer drafts unmutated
cursoragent 710bd1c
Merge branch 'main' into cursor/teleport-opencode-1e23
baanish af47f2c
fix(teleport): commit in-place import as one T3 state transition
cursoragent 49935d1
Merge branch 'main' into cursor/teleport-opencode-1e23
baanish aa2fad3
fix(teleport): revert importing fence on interrupt and defects
cursoragent 535e79a
Merge branch 'main' into cursor/teleport-opencode-1e23
cursoragent 6868b38
Merge branch 'main' into cursor/teleport-opencode-1e23
cursoragent 40508c9
fix(web): keep locked composer drafts unmutated after async work
cursoragent d311e79
fix(teleport): preserve native session identity and history
cursoragent edb1f99
fix(teleport): recover interrupted transitions without stale state
cursoragent 199ba38
fix(teleport): match native CLI storage contracts
cursoragent 939c3b2
fix(teleport): never overwrite imported native transcripts
cursoragent e23a590
fix(web): block all draft edits while teleported out
cursoragent 5b01da0
Merge remote-tracking branch 'refs/remotes/upstream/main' into cursor…
cursoragent 03a5b30
style(teleport): apply repository formatting
cursoragent 590c40c
feat(teleport): fork native changes after ownership conflicts
cursoragent f45f89e
fix(web): wait for native fork before navigation
cursoragent 38a5432
Merge remote-tracking branch 'origin/main' into cursor/teleport-7136-…
cursoragent 616c5a8
fix(teleport): fall back when lsof cannot be spawned
cursoragent 660d4d8
fix(teleport): load archived threads for in-place import
cursoragent 47974aa
fix(teleport): reject unknown instances and walk Claude homes once
cursoragent 0e6a26c
fix(teleport): restore provider binding if import reverts
cursoragent 9a414b1
fix(web): drop stale native-conflict results on navigation
cursoragent a157784
fix(web): pass nativePath through command-palette imports
cursoragent 3005c58
fix(web): prefer newer teleport snapshots when merging
cursoragent 6160132
fix(opencode): close the session when abort is unconfirmed
cursoragent 906a8e5
fix(opencode): reject in-flight sendTurn after unconfirmed abort
cursoragent e65e163
fix(orchestration): reject turn start on archived threads
cursoragent b7592d0
fix(teleport): skip directory bind when pending export never wrote
cursoragent e180081
Merge origin/main into cursor/teleport-7136-mirror-4ce4
cursoragent 4440cfa
fix(teleport): clear teleport after a failed first-time import
cursoragent 6ce36a1
fix(teleport): gate HTTP turn.start and skip createThread revision ch…
cursoragent 0b7e30a
fix(web): keep teleport composer lock while messages load
cursoragent 20b0b14
fix(teleport): keep in-place import path-stable and sanitize director…
cursoragent 3345225
chore(server): drop unused OrchestrationDispatchCommandError import
cursoragent 00e0a64
Merge origin/main into cursor/teleport-7136-mirror-4ce4
cursoragent a3a2c3a
Merge origin/main into cursor/teleport-7136-mirror-4ce4
cursoragent e64e31a
Merge origin/main into cursor/teleport-7136-mirror-4ce4
cursoragent 93d32f2
fix(teleport): keep HTTP native-revision gate when createThread targe…
cursoragent cba5020
fix(client-runtime): prefer shell teleport when lastSyncedAt ties
cursoragent 96d1750
fix(server): skip unsupported providers in teleport projection backfill
cursoragent 1a43461
revert leftover OpenCode abort-gate from teleport PR
cursoragent 60d2b0b
fix(server): decode teleport backfill test JSON through Schema
cursoragent 770cb25
fix(teleport): revert importing fence if beginImporting is interrupted
cursoragent 652cfc2
fix(teleport): delete first-time directory row on failed in-place import
cursoragent 3c03a67
fix(teleport): delete leftover new-thread imports on crash recovery
cursoragent 1576ab4
fix(teleport): recover directory finalize after a committed T3 import
cursoragent 51ed3b2
fix(teleport): fail closed when lsof is missing and the file exists
cursoragent bd0bb8d
fix(teleport): fail Windows native replace if bak restore is lost
cursoragent 1db4196
docs(teleport): record that withInFlight is process-local
cursoragent 414ebad
style(teleport): apply bun fmt to atomicity durability diffs
cursoragent 4de291f
fix(teleport): correct atomicity recovery types after durability holes
cursoragent 6099bcc
fix(teleport): pass optional recovery history without exactOptional m…
cursoragent 10c7f76
fix(teleport): keep Windows bak restore distinct from a failed replace
cursoragent ca3e9b7
test(teleport): fix in-place directory delete and Windows bak restore…
cursoragent 3a0b870
fix(teleport): treat a cleared shell teleport as authoritative
cursoragent 968dd32
fix(teleport): only block image attach on the teleport composer lock
cursoragent 51ad9f6
fix(teleport): keep Codex assistant text that looks like a user wrapper
cursoragent 051f3b2
fix(teleport): compare in-place import paths even when nativePath is …
cursoragent 2226e4d
fix(teleport): stop discovery walks from looping on directory symlinks
cursoragent b4da56b
fix(teleport): enforce the 20 MiB session cap while reading
cursoragent 8b0b719
fix(teleport): clean claimed attachments when the HTTP revision gate …
cursoragent c6d3425
fix(teleport): return latestTurn for archived by-id thread snapshots
cursoragent def2c2f
fix(teleport): decode instance homes with envelope replacement semantics
cursoragent 7074e17
fix(teleport): rebuild export revert payload from thread teleport state
cursoragent 006365a
fix(teleport): repair directory presence after interrupted import rec…
cursoragent 5798b44
fix(teleport): close import batch, export, and recovery identity holes
cursoragent 247f14a
fix(teleport): wrap Windows rename mock without mutating readonly Fil…
cursoragent 55e775d
fix(teleport): abort import batches before partial load/unlock commits
cursoragent 5575b58
fix(teleport): fail closed on binding reads and retry startup recovery
cursoragent 8aa769f
fix(web): keep composer inserts and chip removes on the teleport lock
cursoragent 446921a
fix(teleport): stand the format registry with Layer.succeed
cursoragent 4060bca
fix(web): disable Compact context while the composer is teleported out
cursoragent 5064489
fix(teleport): refresh thread snapshot before directory finalize reco…
cursoragent 618c971
fix(web): ignore composer menu picks while teleport-locked
cursoragent d4d943f
fix(teleport): use Effect.catchTags for schema-version skips
cursoragent 25c4dbc
fix(teleport): bind listSessions cwd to a registered project
cursoragent c0451b9
fix(teleport): clear stale native binding after failed export recovery
cursoragent a6b7b47
fix(teleport): hash native sessions through Effect Crypto
cursoragent File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When a thread is teleported out from web or desktop and then opened on mobile, this permanently disables its composer, but a repo-wide search of
apps/mobilefinds no import action or use of the new Teleport RPCs. The user therefore cannot perform the reverse transition from that client and must switch surfaces merely to recover the thread; mobile needs an import control rather than only enforcing the blocked state.AGENTS.md reference: AGENTS.md:L65-L74
Useful? React with 👍 / 👎.