feat(protocols): add NOW execution client - #82
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Vladyslav Nikonov (vnikonov-devolutions)
left a comment
There was a problem hiding this comment.
I have a few minor comments (maybe one not-so-minor about session id), but looks good overall.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Adds a publishable Tokio-based NOW execution client with capability negotiation, bounded framing, liveness monitoring, and serialized execution handling.
Changes:
- Adds tracked and detached Process, Batch, WinPs, Pwsh, and Run APIs.
- Implements protocol framing, negotiation, heartbeat handling, typed errors, and bounded queues.
- Adds tests, documentation, and workspace dependency registration.
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
Cargo.toml |
Pins the NOW PDU dependency version. |
Cargo.lock |
Records the new crate and dependencies. |
protocols/rust/now-client/Cargo.toml |
Defines the publishable client crate. |
protocols/rust/now-client/README.md |
Documents behavior and scope. |
protocols/rust/now-client/src/lib.rs |
Exposes the public API. |
protocols/rust/now-client/src/capabilities.rs |
Models negotiated capabilities. |
protocols/rust/now-client/src/client.rs |
Implements connection and execution handling. |
protocols/rust/now-client/src/config.rs |
Defines limits and defaults. |
protocols/rust/now-client/src/error.rs |
Defines typed client errors. |
protocols/rust/now-client/src/exec.rs |
Builds and validates execution requests. |
protocols/rust/now-client/src/frame.rs |
Implements bounded PDU deframing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Benoît Cortier (CBenoit)
left a comment
There was a problem hiding this comment.
Left small comments, nothing really big. I’ll leave the final approval and merge to Vlad. I’ll handle the initial publish + Trusted Publishing configuration tomorrow when the PR lands.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Vladyslav Nikonov (vnikonov-devolutions)
left a comment
There was a problem hiding this comment.
LGTM
9e1ea0a
into
master
Summary
now-clientcrate over caller-provided async byte streamsScope
DVC pipe setup, reconnect creation policy, IPC retention, Abort, and Shell submission remain consumer concerns.
Validation
cargo xtask rust tests -vcargo xtask rust lints -v