feat(cli): add Hermes ACP adapter over OpenShell SSH - #11272
feat(cli): add Hermes ACP adapter over OpenShell SSH#11272apurvvkumaria wants to merge 4 commits into
Conversation
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
|
🌿 Preview your docs: https://nvidia-preview-pr-11272.docs.buildwithfern.com/nemoclaw |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall line coverage in commit 946b4e9 in the TypeScript / code-coverage/cliThe overall line coverage in commit 946b4e9 in the Show a line coverage summary of the most impacted files.
Updated |
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
|
PR Review Advisor finished for commit |
Outcome
Adds the packaged host-side
nemoclaw-acpexecutable for connecting an external ACP client to the managed Hermes ACP server over OpenShell SSH. The adapter selects and validates one registered, ready sandbox, preserves duplex ACP streams and remote status, and cleans up the host and remote processes across normal exit, disconnect, cancellation, timeout, and transport failure.Reason
Raw external invocation of
hermes-acpdoes not own NemoClaw target selection, compatibility validation, lifecycle fencing, signal forwarding, or cleanup. The host-side adapter provides those product guarantees while retaining OpenShell SSH as the single transport.Related issues
Changes
nemoclaw-acpin the npm package and installer, and remove its managed shims during uninstall./usr/local/bin/hermes-acp, checks the exact Hermes and ACP versions, uses bounded setup output, and keeps remote standard error out of ACP standard output.Verification
npm exec -- vitest run --project cli src/lib/acp/command.test.ts src/lib/adapters/openshell/hermes-acp-ssh-cli.test.ts src/lib/actions/uninstall/run-plan.test.ts src/lib/actions/uninstall/run-plan-nvm-leftovers.test.ts— 85 tests passed.npm exec -- vitest run --project integration test/install/install-npm-resolution.test.ts test/automation/pull-requests/pr-risk-plan.test.ts— 169 tests passed.npm exec -- vitest run --project e2e-support test/e2e/support/hermes-acp-live.test.ts— 4 tests passed.npm exec -- vitest run --project package-contract test/package-contract/acp-adapter-packaged.test.ts— passed against the compiled packaged executable.npm run typecheck:cli— passed.npm run checks:repository— passed, including dependency-pin, architecture, test-registration, and live-assertion ratchets.npm run test:e2e-phases:check— passed for 134 tests across 88 live files.Review notes
This PR remains draft because #10943 closed without recording the final immutable OpenShell release. The implementation uses the current repository lifecycle contract for OpenShell 0.0.106. Trusted live E2E must pass on the final selected release before this PR is ready and before #10947 can close.
A local broad
npm run test:packagerun passed the new ACP package contract and 1,299 of 1,300 assertions. The unrelated existingmigration-state-packaged.test.tscase failed on this macOS host while staging an external OpenClaw-state restore with[Errno 20] Not a directory: var; this PR does not change that migration path.Signed-off-by: Apurv Kumaria akumaria@nvidia.com