Add scheduler toolbar and copy-reference actions, guarded inspection JSON saves with protected-field warnings, and read-only ctx.this for self-messaging. Preserve exact actor values and unsaved edits across refreshes, and test the save lifecycle in the VS Code host.
Isolate the CLI forwarding test from the editable counter example.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add guarded state and mailbox editing, immediate severity-filtered actor logs, and per-client history/follow subscriptions. Expose repair and log-level controls in the CLI, REPL, and VS Code.
BREAKING CHANGE: protocol v5 requires actor log thresholds in snapshots and introduces editing and log subscription operations. Rebuild the server, CLI, and extension together.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the image source tree and actor view into a Runa Activity Bar container with sources first. Verify both views and image editing in an empty VS Code window without workspace folders.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the obsolete source-folder command and all workspace mutation code. Keep automatic Explorer browsing backed by the image filesystem provider and verify the command is no longer registered.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Browse the image's writable virtual source filesystem in an Explorer tree without changing workspace folders. Wire source context actions and ensure Spawn with State prompts for JSON when VS Code passes menu selection arguments.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Use a code-1000 close handshake for intentional disconnects, wait for pending closes during deactivation, and bound shutdown to five seconds. Preserve immediate termination for failed connections and guard reconnects against stale sessions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Exit the readline loop on interruption so normal WebSocket shutdown completes. Verify Ctrl+C in a Linux pseudo-terminal against the real image server and confirm it remains available after disconnect.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expose image operations through Clap subcommands, rename actors to ps, remove REPL cancellation, and rename the mise cli task to repl. Preserve session bindings in the REPL and proper close handshakes for one-shot commands.
BREAKING CHANGE: runa-cli now requires a subcommand; use runa-cli repl or mise run repl for interactive use. The actors REPL command is now ps, and cancel is no longer available in the REPL.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Close the client explicitly on REPL exit and wait for the peer with a bounded deadline. Cover quit, exit, EOF, pending notifications, and incomplete handshakes without suppressing genuine protocol failures.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Separate editable image sources from generated commit revisions and loaded actor implementations. Add the source filesystem and context actions in VS Code, path-based REPL commands, sender-aware actor contexts, and privileged lifecycle controls.
BREAKING CHANGE: protocol v4 replaces published behavior commands with image source paths and commit operations. Actor handlers now use handle(ctx, state, sender, message) and return only state; outgoing messages use ctx.send or ctx.send_from.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Show published behaviors and revision history, retrieve exact Rune source through the shared protocol, and cache read-only source documents by connection session and revision. Refresh behavior listings on image notifications and cover browsing against the real server and VS Code host.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add explicit-behavior spawning, structured message input, lifecycle actions, and explicit scheduler ticks. Preserve lossless integers and enforce the complete request size limit. Verify controls and live snapshot updates against the real image and VS Code host.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Rename the server crate and executable to runa and the REPL to runa-cli. Parse executable arguments with Clap derive/env, default the server to loopback port 3737, and support RUNA_LISTEN and RUNA_CONNECT with explicit flag precedence.
Remove the stdio transport and child-process client. Make mise start launch the server and mise cli launch the REPL, updating extension integration runners and documentation.
BREAKING CHANGE: runa now starts the WebSocket image server rather than the REPL; use runa-cli for the REPL. The runa-server package, stdio transport, LocalClient, ProtocolClient, and serve/serve-network mise tasks are removed.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Replace plain TCP JSON-lines connections with bounded loopback WebSockets using the required runa-debug subprotocol. Keep single-threaded image dispatch and stdio framing unchanged.
Broadcast coalesced, non-destructive image_changed invalidations after successful mutations. Update the REPL client and automatically refresh VS Code actor trees and open inspectors, preserving request correlation and connection-session isolation.
Validate negotiation, message limits and fragmentation, multi-client notifications, real REPL interoperability, and automatic mailbox/lifecycle/failure inspection in a VS Code extension host.
BREAKING CHANGE: the network endpoint now accepts only runa-debug WebSockets at the root path, not plain TCP JSON Lines. Rust network integrations must use WebSocketClient and serve_websocket. Request/response DTOs remain protocol v3; stdio is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add explicit connection management, an actor explorer, and session-isolated read-only snapshots over protocol v3. Preserve 64-bit values and validate bounded framing, correlation, and snapshot contracts without draining events or advancing the image.
Wire TypeScript formatting and checks into mise, add real Rust-server interoperability tests, and verify inspection and reconnect behavior in a VS Code extension host.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move the updated architecture specification into docs, add the Rune adapter library scaffold, and reserve the planned repository directories.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>