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>
Add runa-client for launching the JSON-lines server as a child process and exchanging bounded, correlated protocol requests. Validate response versions and request IDs, expose graceful shutdown, and test the client against the real server process. Clarify that VS Code is planned to use an authenticated network connection to the same live image, while stdio serves local child-process integrations and actors remain in the image.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Expose the runa-server protocol dispatcher over newline-delimited JSON on stdin/stdout for a trusted parent process. Bound request lines to 1 MiB, return one correlated response for each valid request, and fail explicitly on malformed or oversized input. Add the mise serve task and document that this is not a network listener or an authenticated service.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a transport-neutral runa-server dispatcher that validates protocol requests, routes supported operations through runa-image-api, and converts actor snapshots, behavior revisions, events, and failures into wire DTOs. Document that event retrieval drains the in-memory queue and that network transport and authentication remain future work.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the runa-protocol crate with version-1 request, response, and event DTOs, serde serialization, and basic envelope and input validation. Document the wire contract and clarify that transport, dispatch, and authentication remain future work.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Introduce the runa-image-api service boundary for behavior source retrieval, publishing, history, rollback, actor lifecycle, messaging, scheduling, snapshots, and events. Route the local CLI through the API and document that it is trusted and process-local, with no network authentication.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a mise launcher for the Runa CLI and expose named behavior publish, history, rollback, install, and spawn operations. Update usage documentation and changelog.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add stable versioned source and implementation IDs, exact original-source retention, compiler fingerprints, and an in-memory compiled artifact cache. Use implementation content IDs in runtime actor references.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add a REPL for spawning actors, sending messages, ticking, inspection, events, stop, and restart. Expose ordered actor snapshots and document the local control surface.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implement typed, budgeted Rune invocation slices and a minimal in-memory actor runtime with bounded mailboxes, state transitions, effects, and lifecycle operations. Add feasibility and runtime documentation with tests for async resumption, cancellation, and scheduler fairness.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Document the repository scaffold, architecture updates, and development tooling under Unreleased. Include the requirement to update the changelog for user-visible changes.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add formatting, lint, and test tasks with Tombi, rustfmt, and Clippy configuration. Require agents to pass the pre-commit task before committing.
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>