feat(cli): add Deep Agents aliases - #5881
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughAdds a ChangesDeep Agents launcher, aliasing, and branding
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related issues
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
🌿 Preview your docs: https://nvidia-preview-pr-5881.docs.buildwithfern.com/nemoclaw |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in the Show a code coverage summary of the most covered files.
TypeScript / code-coverage/cliThe overall coverage in the Show a code coverage summary of the most covered files.
Updated |
PR Review Advisor (Nemotron Ultra) — Changes requestedMerge posture: Do not merge yet Action checklist
Findings index
🚨 Required before mergeAddress these before merging unless a maintainer explicitly overrides the advisor with rationale.
|
E2E Advisor RecommendationRequired E2E: Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
Vitest E2E Scenario RecommendationRequired Vitest E2E scenarios: Dispatch required Vitest E2E scenarios:
Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
PR Review Advisor — No blocking findingsMerge posture: No blocking advisor findings Action checklist
Findings index
Review findings by urgency: 0 required fixes, 1 item to resolve/justify, 2 in-scope improvements
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (3)
scripts/install.sh (1)
121-138: 📐 Maintainability & Code Quality | 🔵 TrivialSingle-source the deepagents alias list The
langchain-deepagents-codealiases are duplicated inscripts/install.shandsrc/lib/agent/defs.ts; consider generating one from the other or adding a parity test so installer canonicalization and CLI resolution can’t drift.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@scripts/install.sh` around lines 121 - 138, The deepagents alias mapping is duplicated between canonical_agent_name() and the agent definitions, so the installer and CLI can drift. Update canonical_agent_name() to source the alias list from the same canonical definition used in src/lib/agent/defs.ts, or add a parity check/test that verifies both mappings stay identical. Keep the existing normalization and preserve the canonical output for langchain-deepagents-code and its aliases.src/lib/agent/defs.ts (1)
124-202: 📐 Maintainability & Code Quality | 🔵 TrivialShare alias resolution between
defs.tsandlegacy-command.ts
src/lib/onboard/legacy-command.tsduplicatesnormalizeAgentSelector,agentAliasSummary, and the alias mapping inresolveKnownAgentAliaseven thoughsrc/lib/agent/defs.tsalready centralizes the same logic. Import the shared helper(s) to keep onboarding and agent resolution from drifting when aliases change.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/lib/agent/defs.ts` around lines 124 - 202, `legacy-command.ts` is duplicating the agent alias normalization/mapping logic that already exists in `defs.ts`, which risks the onboarding and agent-resolution rules drifting apart. Update `resolveKnownAgentAlias` to use the shared helpers from `resolveAgentNameAlias` and `agentAliasSummary` in `src/lib/agent/defs.ts`, and remove the local copies of `normalizeAgentSelector` and the alias table. Keep `unknownAgentMessage`/call sites wired to the shared alias resolution so all agent aliases are defined in one place.docs/reference/commands-nemohermes.mdx (1)
106-107: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winSplit this into one sentence per line.
This paragraph puts two sentences on the same source line, which breaks the docs formatting rule. As per path instructions, "One sentence per line in source (makes diffs readable)."
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/reference/commands-nemohermes.mdx` around lines 106 - 107, Split the `--agent` documentation text in `commands-nemohermes.mdx` so each sentence is on its own source line, keeping the same wording but placing the sentence about canonical manifest names on one line and the sentence with the alias examples on the next; use the existing `--agent` paragraph as the target location and preserve the references to `nemohermes agents list`, `nemohermes`, `hermes`, and `langchain-deepagents-code`.Source: Path instructions
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/reference/commands.mdx`:
- Line 147: The `--agent` description in the MDX source currently contains two
sentences on one line; split them so each sentence is on its own line while
keeping the wording unchanged. Update the `--agent` text in the commands
reference to preserve one sentence per line for readable diffs.
In `@src/lib/agent/defs.test.ts`:
- Around line 162-167: The test in resolveAgentName is leaking NEMOCLAW_AGENT
into later cases because it sets process.env.NEMOCLAW_AGENT without restoring
it. Save the previous value before setting it, then restore or delete
NEMOCLAW_AGENT after the expectation (use a try/finally around the
resolveAgentName call in defs.test.ts) so other tests still see the default
openclaw behavior.
In `@src/lib/onboard/legacy-command.ts`:
- Around line 66-68: `agentAliasSummary()` is currently hardcoded and can
advertise aliases for runtimes that are not installed, which conflicts with
`resolveKnownAgentAlias()` and the onboarding help text. Update the summary
generation to derive its output from `knownAgents` so only supported aliases are
shown, and reuse that same filtered helper in `agentAliasSummary()` and
`src/lib/onboard/agent-flag-help.ts` to keep the hints and validation aligned.
---
Nitpick comments:
In `@docs/reference/commands-nemohermes.mdx`:
- Around line 106-107: Split the `--agent` documentation text in
`commands-nemohermes.mdx` so each sentence is on its own source line, keeping
the same wording but placing the sentence about canonical manifest names on one
line and the sentence with the alias examples on the next; use the existing
`--agent` paragraph as the target location and preserve the references to
`nemohermes agents list`, `nemohermes`, `hermes`, and
`langchain-deepagents-code`.
In `@scripts/install.sh`:
- Around line 121-138: The deepagents alias mapping is duplicated between
canonical_agent_name() and the agent definitions, so the installer and CLI can
drift. Update canonical_agent_name() to source the alias list from the same
canonical definition used in src/lib/agent/defs.ts, or add a parity check/test
that verifies both mappings stay identical. Keep the existing normalization and
preserve the canonical output for langchain-deepagents-code and its aliases.
In `@src/lib/agent/defs.ts`:
- Around line 124-202: `legacy-command.ts` is duplicating the agent alias
normalization/mapping logic that already exists in `defs.ts`, which risks the
onboarding and agent-resolution rules drifting apart. Update
`resolveKnownAgentAlias` to use the shared helpers from `resolveAgentNameAlias`
and `agentAliasSummary` in `src/lib/agent/defs.ts`, and remove the local copies
of `normalizeAgentSelector` and the alias table. Keep `unknownAgentMessage`/call
sites wired to the shared alias resolution so all agent aliases are defined in
one place.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: ecb09da3-4b31-45a4-9e32-a6a32bad4a67
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (25)
bin/nemo-deepagents.jsci/platform-matrix.jsondocs/get-started/quickstart-langchain-deepagents-code.mdxdocs/reference/commands-nemohermes.mdxdocs/reference/commands.mdxdocs/reference/platform-support.mdxpackage.jsonscripts/install.shsrc/lib/actions/update.test.tssrc/lib/actions/update.tssrc/lib/agent/defs.test.tssrc/lib/agent/defs.tssrc/lib/cli/branding.test.tssrc/lib/cli/branding.tssrc/lib/onboard.tssrc/lib/onboard/agent-flag-help.test.tssrc/lib/onboard/agent-flag-help.tssrc/lib/onboard/command-support.test.tssrc/lib/onboard/legacy-command.test.tssrc/lib/onboard/legacy-command.tstest/cli-oclif-compatibility.test.tstest/cli/dispatch-basics.test.tstest/generate-platform-docs.test.tstest/nemo-deepagents-alias.test.tstest/update.test.ts
Selective E2E Results — ✅ All requested jobs passedRun: 28261422006
|
Selective E2E Results — ✅ All requested jobs passedRun: 28262108240
|
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/update.test.ts (1)
15-20: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueTemp dir/symlink is never cleaned up.
mkdtempSynccreates a directory underos.tmpdir()that the IIFE never removes, so each run leaves a straynemo-deepagents-update-bin-*dir + symlink behind. Consider registering anafterAll/process cleanup withfs.rmSync(dir, { recursive: true, force: true }).🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/update.test.ts` around lines 15 - 20, The temporary directory and symlink created in DEEPAGENTS_CLI are never cleaned up, leaving stray test artifacts behind. Update the setup around the mkdtempSync IIFE to retain the generated dir path and register cleanup in the test lifecycle or process teardown, using fs.rmSync with recursive and force options to remove the temporary alias directory after the tests finish.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@test/update.test.ts`:
- Around line 15-20: The temporary directory and symlink created in
DEEPAGENTS_CLI are never cleaned up, leaving stray test artifacts behind. Update
the setup around the mkdtempSync IIFE to retain the generated dir path and
register cleanup in the test lifecycle or process teardown, using fs.rmSync with
recursive and force options to remove the temporary alias directory after the
tests finish.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 58a4f0f9-04e1-4b85-ba27-d76f6a97360d
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (5)
bin/nemoclaw.jspackage.jsontest/cli-oclif-compatibility.test.tstest/nemo-deepagents-alias.test.tstest/update.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
- test/nemo-deepagents-alias.test.ts
| import { | ||
| agentAliasSummary, | ||
| formatAgentAliasSuffix, | ||
| resolveAgentNameAlias as resolveKnownAgentNameAlias, | ||
| } from "./aliases"; |
| import { | ||
| agentAliasSummary, | ||
| formatAgentAliasSuffix, | ||
| resolveAgentNameAlias as resolveKnownAgentNameAlias, | ||
| } from "./aliases"; |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
test/install-agent-alias-parity.test.ts (1)
13-25: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winCover normalization-driven aliases too.
This parity test only exercises already-normalized inputs, so it would miss drift in the case/underscore/space normalization both sides rely on. Add a few inputs like
NEMO_DEEPAGENTS,Deep Agents Code, orLANGCHAINso the test locks the full canonicalization contract, not just direct alias table entries.Suggested expansion
const ALIAS_CASES = [ ["openclaw", "openclaw"], ["nemoclaw", "openclaw"], ["hermes", "hermes"], ["nemohermes", "hermes"], ["langchain-deepagents-code", "langchain-deepagents-code"], ["nemo-deepagents", "langchain-deepagents-code"], + ["NEMO_DEEPAGENTS", "langchain-deepagents-code"], ["dcode", "langchain-deepagents-code"], ["deepagents", "langchain-deepagents-code"], + ["Deep Agents", "langchain-deepagents-code"], ["deepagents-code", "langchain-deepagents-code"], ["deepagentscode", "langchain-deepagents-code"], ["langchain", "langchain-deepagents-code"], + ["LANGCHAIN", "langchain-deepagents-code"], ] as const;🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/install-agent-alias-parity.test.ts` around lines 13 - 25, The parity test in ALIAS_CASES only covers direct alias-table inputs and misses normalization behavior. Expand the cases used by the install-agent alias test to include uppercase, underscore, and spaced variants such as NEMO_DEEPAGENTS, Deep Agents Code, and LANGCHAIN, so the test verifies the canonicalization path exercised by the alias resolution logic.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@test/install-agent-alias-parity.test.ts`:
- Around line 13-25: The parity test in ALIAS_CASES only covers direct
alias-table inputs and misses normalization behavior. Expand the cases used by
the install-agent alias test to include uppercase, underscore, and spaced
variants such as NEMO_DEEPAGENTS, Deep Agents Code, and LANGCHAIN, so the test
verifies the canonicalization path exercised by the alias resolution logic.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: a268a00a-7e17-4c85-aef4-6d12c3abfb6c
📒 Files selected for processing (16)
docs/reference/commands-nemohermes.mdxdocs/reference/commands.mdxsrc/lib/actions/update.test.tssrc/lib/actions/update.tssrc/lib/agent/aliases.tssrc/lib/agent/defs.test.tssrc/lib/agent/defs.tssrc/lib/onboard/agent-flag-help.test.tssrc/lib/onboard/agent-flag-help.tssrc/lib/onboard/command-support.test.tssrc/lib/onboard/legacy-command.tstest/cli-oclif-compatibility.test.tstest/cli/dispatch-basics.test.tstest/install-agent-alias-parity.test.tstest/nemo-deepagents-alias.test.tstest/update.test.ts
✅ Files skipped from review due to trivial changes (5)
- test/cli/dispatch-basics.test.ts
- src/lib/agent/aliases.ts
- src/lib/onboard/agent-flag-help.test.ts
- docs/reference/commands.mdx
- docs/reference/commands-nemohermes.mdx
🚧 Files skipped from review as they are similar to previous changes (7)
- src/lib/onboard/agent-flag-help.ts
- src/lib/agent/defs.test.ts
- test/cli-oclif-compatibility.test.ts
- test/update.test.ts
- src/lib/actions/update.ts
- src/lib/actions/update.test.ts
- test/nemo-deepagents-alias.test.ts
<!-- markdownlint-disable MD041 --> ## Summary Follow-up to #5881 that addresses automated review feedback after the Deep Agents alias PR merged. It removes an unused alias import and expands installer/TypeScript alias parity coverage so every exported alias key is checked. ## Changes - Removed the unused `agentAliasSummary` named import from `src/lib/agent/defs.ts`. - Changed `test/install-agent-alias-parity.test.ts` to derive parity cases from exported `AGENT_ALIASES` rather than a hand-picked subset. - Kept normalization-only cases for uppercase, underscore, and spaced alias inputs. ## Type of Change - [x] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: follow-up only changes an unused import and test coverage. - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) Verification commands run: - `npm run build:cli` - `npx vitest run test/install-agent-alias-parity.test.ts src/lib/agent/defs.test.ts --reporter=dot` - `npm run typecheck:cli` - Commit and push hooks passed. --- <!-- DCO sign-off is required in this PR description, and every commit must appear as Verified in GitHub. Run: git config user.name && git config user.email --> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Improved alias coverage by generating test cases dynamically, helping ensure agent name matching stays consistent across more inputs. * **Chores** * Cleaned up internal module imports without changing public behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary Adds the v0.0.69 release notes to the published release-notes page so users can see the shipped sandbox recovery, Deep Agents Code, Hermes, inference, policy, and release-validation changes. The section is based on the v0.0.69 announcement and links each user-facing theme to the deeper docs pages that already cover the behavior. ## Changes - Added a new `v0.0.69` section to `docs/about/release-notes.mdx`. - Linked release-note themes to lifecycle, backup, troubleshooting, Deep Agents Code, commands, workspace, messaging, Hermes, inference, security, monitoring, and network-policy docs. Source summary: - #5455 -> `docs/about/release-notes.mdx`: Summarized persistent workspace and state cleanup during sandbox destroy. - #5738 -> `docs/about/release-notes.mdx`: Summarized nonzero exit status preservation for failed hosted endpoint validation. - #5786 -> `docs/about/release-notes.mdx`: Summarized live sandbox rediscovery when local registry state is missing. - #5881 -> `docs/about/release-notes.mdx`: Summarized the `nemo-deepagents` alias command surface. - #5594 -> `docs/about/release-notes.mdx`: Summarized the Hermes Agent 2026.6.19 update. - #5777 -> `docs/about/release-notes.mdx`: Summarized manifest-derived messaging channel support. - #5825 -> `docs/about/release-notes.mdx`: Summarized DeepSeek V4 Flash managed-vLLM defaults for DGX Station. - #5877 -> `docs/about/release-notes.mdx`: Summarized provider switch metadata preservation. - #5932 -> `docs/about/release-notes.mdx`: Summarized transient inference smoke retry behavior. - #5934 -> `docs/about/release-notes.mdx`: Summarized constrained inference smoke retry boundaries. - #5681 -> `docs/about/release-notes.mdx`: Summarized Shields config-hash sealing during auto-restore. - #5682 -> `docs/about/release-notes.mdx`: Summarized sandbox connect process-limit enforcement. - #5683 -> `docs/about/release-notes.mdx`: Summarized JSON agent failure provenance warnings. - #5711 -> `docs/about/release-notes.mdx`: Summarized sparse-source log breadcrumbs. - #5838 -> `docs/about/release-notes.mdx`: Summarized host-authoritative Shields status. - #5880 -> `docs/about/release-notes.mdx`: Summarized policy round-trip documentation updates. - #5886 -> `docs/about/release-notes.mdx`: Summarized network request approval-flow documentation updates. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [x] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: doc-only release-notes prose; no runtime behavior changed. - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [ ] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) `npm run docs` passed with 0 errors and the existing Fern light-mode accent contrast warning. `fern check --warnings` reported the same accent-color warning. --- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added release notes for **v0.0.69**, covering improved sandbox lifecycle recovery (state preservation across destroy/recreate/rebuild/recovery/validation failures), clearer Deep Agents Code terminal/CLI behavior, and safer Hermes messaging/provider switching with manifest-driven channels. * Improved inference setup validation guidance, including handling of local/compatible endpoints and redaction of sensitive validation errors. * Refreshed release-gate documentation with clearer approval examples and validation behavior for NVIDIA API keys vs hosted inference keys. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- markdownlint-disable MD041 --> ## Summary Adds a `nemo-deepagents` host CLI alias for the LangChain Deep Agents Code runtime and teaches onboarding to accept common user-facing agent aliases. This lets users run `nemo-deepagents onboard` or shorter forms such as `nemoclaw onboard --agent dcode`, `--agent deepagents`, and `--agent langchain` instead of remembering `langchain-deepagents-code`. ## Changes - Registered `nemo-deepagents` as an npm bin that reuses the existing `bin/nemoclaw.js` launcher and selects Deep Agents Code when invoked through that symlink. - Added canonical agent alias resolution for `--agent` and `NEMOCLAW_AGENT`, including `nemohermes`, `dcode`, `deepagents`, `deepagents-code`, `langchain`, and related variants. - Updated CLI branding, installer/update branding, onboard `--agent` help, and unknown-agent diagnostics for the alias set. - Updated Deep Agents quickstart, command reference, and platform support docs; adjusted platform-doc validation to allow documented aliases. - Added/updated tests for CLI alias behavior, onboarding arg parsing/help, agent definition alias resolution, update copy, oclif help, and platform-doc validation. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [x] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [x] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [x] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: self-review; changes are limited to agent selector canonicalization, launcher branding, installer alias selection, docs, and tests, with no credential handling or network-policy enforcement changes. - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) Verification commands run: - `npm run build:cli` - `npx vitest run test/nemohermes-alias.test.ts test/nemo-deepagents-alias.test.ts test/update.test.ts test/cli-oclif-compatibility.test.ts src/lib/cli/branding.test.ts src/lib/actions/update.test.ts src/lib/agent/defs.test.ts src/lib/onboard/legacy-command.test.ts src/lib/onboard/agent-flag-help.test.ts src/lib/onboard/command-support.test.ts test/cli/dispatch-basics.test.ts test/generate-platform-docs.test.ts --reporter=dot` - `NEMOCLAW_RUN_INSTALLER_TESTS=1 npx vitest run --project installer-integration test/install-preflight.test.ts --reporter=dot` - `npm run typecheck:cli` - `npm run validate:configs` - `python3 scripts/generate-platform-docs.py --check` - `npm run docs` (passed; Fern reported two hidden warnings) - Commit hooks passed; latest push hooks passed. --- <!-- DCO sign-off is required in this PR description, and every commit must appear as Verified in GitHub. Run: git config user.name && git config user.email --> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a `nemo-deepagents` CLI alias for Deep Agents with matching branding, help, onboarding, uninstall, and update flows. * **Documentation** * Updated quickstart and command/reference docs to use the Deep Agents CLI wrapper and clarified `--agent` alias vs canonical name behavior. * Refreshed platform support/onboarding matrix entries for the new alias. * **Bug Fixes** * Improved agent selector alias resolution and enhanced “unknown agent” guidance with supported alias mappings. * Sanitized Deep Agents update environment variables during installs. * **Tests** * Added/expanded coverage for Deep Agents alias behavior and alias canonicalization. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- markdownlint-disable MD041 --> ## Summary Follow-up to NVIDIA#5881 that addresses automated review feedback after the Deep Agents alias PR merged. It removes an unused alias import and expands installer/TypeScript alias parity coverage so every exported alias key is checked. ## Changes - Removed the unused `agentAliasSummary` named import from `src/lib/agent/defs.ts`. - Changed `test/install-agent-alias-parity.test.ts` to derive parity cases from exported `AGENT_ALIASES` rather than a hand-picked subset. - Kept normalization-only cases for uppercase, underscore, and spaced alias inputs. ## Type of Change - [x] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — justification: follow-up only changes an unused import and test coverage. - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [ ] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) Verification commands run: - `npm run build:cli` - `npx vitest run test/install-agent-alias-parity.test.ts src/lib/agent/defs.test.ts --reporter=dot` - `npm run typecheck:cli` - Commit and push hooks passed. --- <!-- DCO sign-off is required in this PR description, and every commit must appear as Verified in GitHub. Run: git config user.name && git config user.email --> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Improved alias coverage by generating test cases dynamically, helping ensure agent name matching stays consistent across more inputs. * **Chores** * Cleaned up internal module imports without changing public behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary Adds the v0.0.69 release notes to the published release-notes page so users can see the shipped sandbox recovery, Deep Agents Code, Hermes, inference, policy, and release-validation changes. The section is based on the v0.0.69 announcement and links each user-facing theme to the deeper docs pages that already cover the behavior. ## Changes - Added a new `v0.0.69` section to `docs/about/release-notes.mdx`. - Linked release-note themes to lifecycle, backup, troubleshooting, Deep Agents Code, commands, workspace, messaging, Hermes, inference, security, monitoring, and network-policy docs. Source summary: - NVIDIA#5455 -> `docs/about/release-notes.mdx`: Summarized persistent workspace and state cleanup during sandbox destroy. - NVIDIA#5738 -> `docs/about/release-notes.mdx`: Summarized nonzero exit status preservation for failed hosted endpoint validation. - NVIDIA#5786 -> `docs/about/release-notes.mdx`: Summarized live sandbox rediscovery when local registry state is missing. - NVIDIA#5881 -> `docs/about/release-notes.mdx`: Summarized the `nemo-deepagents` alias command surface. - NVIDIA#5594 -> `docs/about/release-notes.mdx`: Summarized the Hermes Agent 2026.6.19 update. - NVIDIA#5777 -> `docs/about/release-notes.mdx`: Summarized manifest-derived messaging channel support. - NVIDIA#5825 -> `docs/about/release-notes.mdx`: Summarized DeepSeek V4 Flash managed-vLLM defaults for DGX Station. - NVIDIA#5877 -> `docs/about/release-notes.mdx`: Summarized provider switch metadata preservation. - NVIDIA#5932 -> `docs/about/release-notes.mdx`: Summarized transient inference smoke retry behavior. - NVIDIA#5934 -> `docs/about/release-notes.mdx`: Summarized constrained inference smoke retry boundaries. - NVIDIA#5681 -> `docs/about/release-notes.mdx`: Summarized Shields config-hash sealing during auto-restore. - NVIDIA#5682 -> `docs/about/release-notes.mdx`: Summarized sandbox connect process-limit enforcement. - NVIDIA#5683 -> `docs/about/release-notes.mdx`: Summarized JSON agent failure provenance warnings. - NVIDIA#5711 -> `docs/about/release-notes.mdx`: Summarized sparse-source log breadcrumbs. - NVIDIA#5838 -> `docs/about/release-notes.mdx`: Summarized host-authoritative Shields status. - NVIDIA#5880 -> `docs/about/release-notes.mdx`: Summarized policy round-trip documentation updates. - NVIDIA#5886 -> `docs/about/release-notes.mdx`: Summarized network request approval-flow documentation updates. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [x] Doc only (prose changes, no code sample modifications) - [ ] Doc only (includes code sample changes) ## Quality Gates - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: doc-only release-notes prose; no runtime behavior changed. - [x] Docs updated for user-facing behavior changes - [ ] Docs not applicable — justification: - [ ] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [ ] Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: - [ ] Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: ## Verification - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [ ] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [x] Quality Gates section completed with required justifications or waivers - [x] No secrets, API keys, or credentials committed - [ ] `npm run docs` builds without warnings (doc changes only) - [x] Doc pages follow the [style guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md) (doc changes only) - [ ] New doc pages include SPDX header and frontmatter (new pages only) `npm run docs` passed with 0 errors and the existing Fern light-mode accent contrast warning. `fern check --warnings` reported the same accent-color warning. --- Signed-off-by: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Added release notes for **v0.0.69**, covering improved sandbox lifecycle recovery (state preservation across destroy/recreate/rebuild/recovery/validation failures), clearer Deep Agents Code terminal/CLI behavior, and safer Hermes messaging/provider switching with manifest-driven channels. * Improved inference setup validation guidance, including handling of local/compatible endpoints and redaction of sensitive validation errors. * Refreshed release-gate documentation with clearer approval examples and validation behavior for NVIDIA API keys vs hosted inference keys. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Adds a
nemo-deepagentshost CLI alias for the LangChain Deep Agents Code runtime and teaches onboarding to accept common user-facing agent aliases. This lets users runnemo-deepagents onboardor shorter forms such asnemoclaw onboard --agent dcode,--agent deepagents, and--agent langchaininstead of rememberinglangchain-deepagents-code.Changes
nemo-deepagentsas an npm bin that reuses the existingbin/nemoclaw.jslauncher and selects Deep Agents Code when invoked through that symlink.--agentandNEMOCLAW_AGENT, includingnemohermes,dcode,deepagents,deepagents-code,langchain, and related variants.--agenthelp, and unknown-agent diagnostics for the alias set.Type of Change
Quality Gates
Verification
Verifiedin GitHubnpx prek run --from-ref main --to-ref HEADpassesnpm testpasses (broad runtime changes only)npm run docsbuilds without warnings (doc changes only)Verification commands run:
npm run build:clinpx vitest run test/nemohermes-alias.test.ts test/nemo-deepagents-alias.test.ts test/update.test.ts test/cli-oclif-compatibility.test.ts src/lib/cli/branding.test.ts src/lib/actions/update.test.ts src/lib/agent/defs.test.ts src/lib/onboard/legacy-command.test.ts src/lib/onboard/agent-flag-help.test.ts src/lib/onboard/command-support.test.ts test/cli/dispatch-basics.test.ts test/generate-platform-docs.test.ts --reporter=dotNEMOCLAW_RUN_INSTALLER_TESTS=1 npx vitest run --project installer-integration test/install-preflight.test.ts --reporter=dotnpm run typecheck:clinpm run validate:configspython3 scripts/generate-platform-docs.py --checknpm run docs(passed; Fern reported two hidden warnings)Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
nemo-deepagentsCLI alias for Deep Agents with matching branding, help, onboarding, uninstall, and update flows.--agentalias vs canonical name behavior.