Serve TCP debug sessions through the same image dispatcher as WebSocket clients. Connect VS Code directly to runa.dapAddress and remove the standalone adapter executable.
BREAKING CHANGE: runa-dap is now library-only. Configure runa --dap-listen or RUNA_DAP_LISTEN and use runa.dapAddress instead of runa.debugAdapterPath. The server binds a loopback DAP listener on port 4711 by default.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove actors after successful graceful shutdown or immediately on kill, including state, mailbox, logs, and source-path metadata. Keep failed actors available for inspection and repair. Preserve restart as an independent identity-retaining operation and mark removed VS Code snapshots read-only.
Default the self-incrementing counter's missing state to zero on its first message and isolate finite control-test fixtures from the demo.
BREAKING CHANGE: stop and kill permanently remove actors instead of retaining stopped instances. Removed references cannot be inspected, sent to, or restarted. Use restart directly to retain actor identity and state.
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>
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>
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>