Repository navigation
feat(shell): --actor mode + PTY line-discipline & vim test suites - #1569
Merged
Merged
Conversation
|
🚅 Deployed to the agentos-pr-1569 environment in agentos
🚅 Environment agentos-pr-1569 in rivet-frontend has no services deployed. |
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 00:19
622557e to
b398417
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 00:42
b398417 to
9c90e5d
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 02:33
9c90e5d to
4b78ee8
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 02:37
4b78ee8 to
a3f0929
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 02:43
a3f0929 to
432b849
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 02:59
432b849 to
0e6ae1b
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 03:07
0e6ae1b to
4a8b3cd
Compare
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 03:56
4a8b3cd to
442bed8
Compare
Shell CLI:
- --actor flag runs the identical shell surface through the RivetKit
agentOS actor (engine + envoy + dylib plugin + sidecar) instead of the
in-process core client. Bootstrap mirrors the actor e2e harness (r6
runtime server child, runner-config upsert, envoy wait); output/exit
stream back as shellData/shellStderr/shellExit events.
- withLocalCommandFallback accepts the { packageDir } registry export
shape and skips packages missing agentos-package.json instead of
aborting VM creation.
Actor plugin + TS mirror:
- New shell actions (openShell/writeShell/resizeShell/closeShell/
waitShell) with shellData/shellStderr/shellExit broadcasts; spawn
gains options + processOutput/processExit streaming.
- waitShell/waitProcess reply from spawned tasks so long waits do not
occupy the serial action worker (a held worker starved the stdin
writes the wait depended on).
- Config parser ported to the packages/packagesMountAt buildConfigJson
shape; env-gated tracing subscriber (AGENTOS_PLUGIN_LOG).
Rust client:
- Fix the shell spawn-readiness gate: watch::Sender::send refuses to
store while no receiver exists, leaving the gate permanently false —
every write/resize issued after open hung in wait_for_spawn. Use
send_replace.
- wait_shell (exit-code retention for late waiters), real resize_shell
(ResizePtyRequest), COLUMNS/LINES winsize env, write_shell_awaited,
{ packageDir } boot packages forwarded on ConfigureVm; adapt to the
dir-only wire PackageDescriptor + ResourceSnapshotResponse.
Core tests (from the earlier revision): pty-line-discipline matrix,
vim suites, waitShell exit-code retention, pty-protocol snapshots.
NathanFlurry
force-pushed
the
nathan/shell-vim-editors
branch
from
July 2, 2026 04:43
442bed8 to
b23cdfb
Compare
This branch was successfully deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
--actorflag on the shell CLI runs the identical shell surface through the RivetKit agentOS actor (rivet engine + envoy + dylib plugin + sidecar) instead of the in-process core client