fix: address issue #5249 - #5252
Conversation
For Hermes sandboxes, 'nemoclaw <name> gateway-token' dead-ended on the OpenClaw-only 'not applicable' line, leaving users following generic dashboard-token quickstart patterns without a next step during Day0 verification. Surface a Hermes-specific hint that points at the supported dashboard auth path (dashboard-url) and notes that Hermes dashboard auth is read from the in-sandbox config (~/.hermes/config.yaml), not a gateway token. Other non-OpenClaw agents keep the single explanatory line. Closes #5249 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
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:
📝 WalkthroughWalkthroughAdds an agent-aware "not applicable" diagnostics helper used by the gateway-token command to emit Hermes-specific multi-line guidance (including dashboard URL and ChangesGateway-token agent-aware error messaging
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
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: None Full Vitest E2E advisor summaryVitest E2E Scenario AdvisorBase: Required Vitest E2E scenarios
Optional Vitest E2E scenarios
Relevant changed files
|
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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 `@src/lib/gateway-token-command.ts`:
- Around line 57-76: The notApplicableLines function builds the Hermes
diagnostic message with an incorrect config path; update the third returned
string for agent === "hermes" to reference the in-sandbox Hermes config at
"/sandbox/.hermes/config.yaml" instead of "~/.hermes/config.yaml" so the message
accurately reflects the sandbox path (adjust the string literal returned by
notApplicableLines).
🪄 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: 79a2ee34-7922-469b-b747-89aa6c5f039d
📒 Files selected for processing (2)
src/lib/gateway-token-command.test.tssrc/lib/gateway-token-command.ts
PR Review Advisor — No blocking findingsMerge posture: No blocking advisor findings Action checklist
Test follow-ups to resolve or justifyIf these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.
This is an automated, non-binding review; it still expects maintainers and agents to respond to each required or warning item. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up. A human maintainer must make the final merge decision. |
The gateway-token CLI hint now directs Hermes users to dashboard-url for dashboard access (#5249). Align the reference docs so the Hermes gateway-token note mirrors that guidance instead of only pointing at the OpenAI-compatible API URL. Signed-off-by: Jason Ma <jama@nvidia.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 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-nemohermes.mdx`:
- Line 625: Your change was applied to the generated variant
(commands-nemohermes.mdx) instead of the source; revert that edit in the
generated file and instead update the source commands.mdx with the new sentence
using the shared alias pattern ($$nemoclaw) so the phrasing applies across
aliases, then regenerate the variant docs by running npm run
docs:sync-agent-variants to ensure the generated file and CI are in sync.
🪄 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: 5dc253d3-8515-4231-816e-6ab2a39bab9e
📒 Files selected for processing (2)
docs/reference/commands-nemohermes.mdxdocs/reference/commands.mdx
✅ Files skipped from review due to trivial changes (1)
- docs/reference/commands.mdx
|
✨ |
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 |
The PR's manual edit to docs/reference/commands.mdx:909 used the canonical `my-assistant` placeholder, but the matching line in the generated docs/reference/commands-nemohermes.mdx still carried `<name>` from an earlier draft, so the docs preview job kept failing the agent-variant sync check. Run `npm run docs:sync-agent-variants` to re-derive the generated file from source so the two stay aligned. Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
🌿 Preview your docs: https://nvidia-preview-pr-5252.docs.buildwithfern.com/nemoclaw |
There was a problem hiding this comment.
Approve, looks good end to end. The hermes branch only fires for the hermes agent, tests cover the three new substrings, and #5249's expected behavior is satisfied. Pushed a small regen to clear the preview CI drift after the source edit.
PR Review Advisor PRA-2 on #5252: the Hermes diagnostic at notApplicableLines() hardcoded "nemoclaw" in the next-step hint, so a user who launched through the nemohermes alias still got "nemoclaw <name> dashboard-url" as the suggestion. The docs change in this PR already says "nemohermes <name> dashboard-url", and src/lib/cli/branding.ts already exposes the invoked CLI name via NEMOCLAW_INVOKED_AS for exactly this reason. Switch the helper to read getAgentBranding().cli at call time so the hint matches whatever binary the user actually typed. Resolving at call time (not module load) keeps the hint in sync with NEMOCLAW_INVOKED_AS even when the env var is set after import. Tests pin both alias paths: nemohermes invocation renders the nemohermes hint, and nemoclaw invocation renders the nemoclaw hint. Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
…h oclif wrapper PR Review Advisor PRA-T3 on #5252 asked for end-to-end coverage of the multi-line Hermes diagnostic at the oclif wrapper layer. The existing per-helper test pins the line content and ordering; the existing wrapper test pins the exit-code contract for a single-line error. Neither covered the case the advisor flagged: multi-line error survives intact through GatewayTokenCliCommand.run() with every line written to console.error and no leaked oclif stack trace. Add a focused test that mocks runGatewayTokenCommand to throw the three-line Hermes diagnostic, spies on console.error, and asserts each line was written, process.exitCode is 1, and the captured output never matches an ExitError / @oclif/core / at Object.exit trace. Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
The codebase-growth-guardrails CI check fails on PR test files that add conditional statements (NemoClaw asserts deterministic tests). The two new PRA-2 tests added in 47c5317 used a try/finally with `if (previousInvokedAs === undefined) delete ... else assign ...` to restore process.env.NEMOCLAW_INVOKED_AS, which tripped the guard ("up from 0 if statements"). Switch to vitest's built-in env stubbing: vi.stubEnv() sets the var for the test and vi.unstubAllEnvs() restores all stubbed vars in afterEach. No conditionals, deterministic restoration, and shorter test bodies. Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
|
PR Advisor passes: no blocking findings, recommendation merge_as_is. |
The gateway-token 'not applicable' diagnostic and the commands reference docs cited ~/.hermes/config.yaml -- the internal manifest target form -- rather than the resolved in-sandbox path /sandbox/.hermes/config.yaml that users actually see and that the rest of the codebase/docs use. Aligns the user-facing message and docs with the canonical path (addresses CodeRabbit review on #5252). Signed-off-by: Jason Ma <jama@nvidia.com> Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This comment was marked as outdated.
This comment was marked as outdated.
<!-- markdownlint-disable MD041 --> ## Summary Refreshes the v0.0.68 docs with release notes, Microsoft Teams messaging guidance, and generated support-matrix coverage. Also corrects the Hermes generated command reference so `sessions export` examples match Hermes-only behavior while keeping the shared command heading compatible with CLI parity checks. ## Changes - #5585 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/reference/platform-support.mdx`: Documents experimental Microsoft Teams channel setup, Bot Framework credentials, webhook forwarding, local `MSTEAMS_PORT` conflicts, and the generated integration support row. - #5526 -> `docs/reference/commands.mdx`, `docs/reference/commands-nemohermes.mdx`: Keeps Hermes `sessions export` examples on the supported single-JSONL export path while preserving the canonical shared CLI heading. - #5044 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for installer onboarding failure propagation. - #5641 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for fresh recovery after pre-sandbox installer interruption. - #5673 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for explicit deny-all messaging manifests. - #5743 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for unsupported-agent channel-add rejection. - #5252 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Hermes `gateway-token` dashboard guidance. - #5659 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for local OpenClaw `agent` wrapper help. - #5661 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for default extra-agent paths. - #5669 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Deep Agents Code branding. - #5672 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for hosted-compatible default model ID preservation. - #5725 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Deep Agents Code sandbox liveness. - #5644 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for DGX Spark managed-vLLM express install defaults. - #5712 -> `docs/about/release-notes.mdx`, `docs/reference/platform-support.mdx`: Adds v0.0.68 release-note coverage for the canonical support matrix and updates the matrix source with Teams. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [x] 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. --> - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: docs-only release refresh; no runtime code 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 <!-- 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 - [ ] 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) — `npm run docs` passed with 0 errors; Fern reported the existing light-mode accent contrast warning. - [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) Additional verification: - `python3 scripts/generate-platform-docs.py --check` passed. - `npm run docs:sync-agent-variants` passed. - `bash test/e2e/e2e-cloud-experimental/check-docs.sh --only-cli` passed. - `npm run docs` passed with 0 errors and one Fern theme warning: light-mode accent contrast ratio is 2.41:1 and should be at least 3:1. - `npm run build:cli` refreshed local untracked `dist/` artifacts after rebase; no tracked files changed. - `npm run typecheck:cli` passed. - Normal commit and push hooks passed after the local CLI rebuild. --- <!-- 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: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added **Microsoft Teams** as an experimental messaging channel, including manifest-first onboarding, local port routing/conflict handling, sandbox delivery controls, and policy preset support. * **Documentation** * Expanded messaging-channel setup for Teams (prerequisites, credential/webhook setup, wizard flow, and add/remove commands). * Updated reference docs for **agent-specific** session export examples (OpenClaw vs Hermes). * Refreshed platform support guidance and added the latest release-notes entry. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary For Hermes sandboxes, 'nemoclaw/nemohermes <name> gateway-token' previously dead-ended on the OpenClaw-only 'not applicable' diagnostic, leaving Hermes users who followed generic dashboard-token quickstart patterns without a next step during Day0 verification. Added a notApplicableLines() helper in src/lib/gateway-token-command.ts that, for the 'hermes' agent, appends two Hermes-specific lines directing users to the supported dashboard auth path: 'For Hermes dashboard access, run: nemoclaw <name> dashboard-url' and a note that Hermes dashboard auth is read from the in-sandbox config (~/.hermes/config.yaml), not a gateway token. Non-Hermes, non-OpenClaw agents retain the single explanatory line. The command still exits cleanly (exit 1, diagnostics on stderr via GatewayTokenCommandError.lines rendered by the token.ts caller's failWithLines). ## Related Issue Fixes NVIDIA#5249 ## Changes - Automated Claude Code fix selected by `auto_fix/auto_fix_recent_issues.py`. - See the commits on this branch for the exact file-level changes. ## 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) ## 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. --> - [ ] `npx prek run --all-files` passes - [ ] `npm test` passes - [ ] Tests added or updated for new or changed behavior - [ ] No secrets, API keys, or credentials committed - [ ] Docs updated for user-facing behavior changes - [ ] `make 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 details reported by Claude Code: - Ran focused unit tests: npx vitest run src/lib/gateway-token-command.test.ts -> 14 passed (includes new assertions for /dashboard-url/ and /.hermes/config.yaml/ in the Hermes path, plus a new test asserting non-Hermes non-OpenClaw agents keep a single line) - Type-checked the CLI: npx tsc --noEmit -p tsconfig.cli.json -> clean (no errors) - Linted changed files: npx biome check src/lib/gateway-token-command.ts src/lib/gateway-token-command.test.ts -> no issues - Confirmed the ~/.hermes/config.yaml path matches the canonical form used across the codebase (agents/hermes/config/write-config.ts, messaging manifests) which resolves to /sandbox/.hermes/config.yaml inside the sandbox - Confirmed caller src/commands/sandbox/gateway/token.ts renders all error.lines via failWithLines, so the multi-line Hermes hint is surfaced to users - `git diff src/lib/gateway-token-command.ts` - `git diff src/lib/gateway-token-command.test.ts` - `grep -rni 'hermes/config' (verify config path)` - `npx vitest run src/lib/gateway-token-command.test.ts` - `npx tsc --noEmit -p tsconfig.cli.json` - `npx biome check src/lib/gateway-token-command.ts src/lib/gateway-token-command.test.ts` - `git add src/lib/gateway-token-command.ts src/lib/gateway-token-command.test.ts && git commit` --- <!-- DCO sign-off required by CI. Run: git config user.name && git config user.email --> Signed-off-by: Jason Ma <jama@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved “gateway-token” diagnostics when the command is not applicable: Hermes now shows a detailed, multi-line message (including the dashboard URL and `~/.hermes/config.yaml` path), while other non-applicable agents show a single concise line. * **Documentation** * Updated Hermes browser-auth guidance to use `nemohermes <name> dashboard-url` and authenticate from `~/.hermes/config.yaml` instead of using a gateway token. * **Tests** * Strengthened assertions to verify the exact diagnostic line contents and correct inclusion/exclusion of the Hermes URL. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Jason Ma <jama@nvidia.com> Signed-off-by: Charan Jagwani <cjagwani@nvidia.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Charan Jagwani <cjagwani@nvidia.com>
<!-- markdownlint-disable MD041 --> ## Summary Refreshes the v0.0.68 docs with release notes, Microsoft Teams messaging guidance, and generated support-matrix coverage. Also corrects the Hermes generated command reference so `sessions export` examples match Hermes-only behavior while keeping the shared command heading compatible with CLI parity checks. ## Changes - NVIDIA#5585 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/reference/platform-support.mdx`: Documents experimental Microsoft Teams channel setup, Bot Framework credentials, webhook forwarding, local `MSTEAMS_PORT` conflicts, and the generated integration support row. - NVIDIA#5526 -> `docs/reference/commands.mdx`, `docs/reference/commands-nemohermes.mdx`: Keeps Hermes `sessions export` examples on the supported single-JSONL export path while preserving the canonical shared CLI heading. - NVIDIA#5044 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for installer onboarding failure propagation. - NVIDIA#5641 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for fresh recovery after pre-sandbox installer interruption. - NVIDIA#5673 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for explicit deny-all messaging manifests. - NVIDIA#5743 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for unsupported-agent channel-add rejection. - NVIDIA#5252 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Hermes `gateway-token` dashboard guidance. - NVIDIA#5659 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for local OpenClaw `agent` wrapper help. - NVIDIA#5661 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for default extra-agent paths. - NVIDIA#5669 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Deep Agents Code branding. - NVIDIA#5672 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for hosted-compatible default model ID preservation. - NVIDIA#5725 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for Deep Agents Code sandbox liveness. - NVIDIA#5644 -> `docs/about/release-notes.mdx`: Adds v0.0.68 release-note coverage for DGX Spark managed-vLLM express install defaults. - NVIDIA#5712 -> `docs/about/release-notes.mdx`, `docs/reference/platform-support.mdx`: Adds v0.0.68 release-note coverage for the canonical support matrix and updates the matrix source with Teams. ## Type of Change - [ ] Code change (feature, bug fix, or refactor) - [ ] Code change with doc updates - [ ] Doc only (prose changes, no code sample modifications) - [x] 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. --> - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: docs-only release refresh; no runtime code 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 <!-- 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 - [ ] 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) — `npm run docs` passed with 0 errors; Fern reported the existing light-mode accent contrast warning. - [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) Additional verification: - `python3 scripts/generate-platform-docs.py --check` passed. - `npm run docs:sync-agent-variants` passed. - `bash test/e2e/e2e-cloud-experimental/check-docs.sh --only-cli` passed. - `npm run docs` passed with 0 errors and one Fern theme warning: light-mode accent contrast ratio is 2.41:1 and should be at least 3:1. - `npm run build:cli` refreshed local untracked `dist/` artifacts after rebase; no tracked files changed. - `npm run typecheck:cli` passed. - Normal commit and push hooks passed after the local CLI rebuild. --- <!-- 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: Miyoung Choi <miyoungc@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added **Microsoft Teams** as an experimental messaging channel, including manifest-first onboarding, local port routing/conflict handling, sandbox delivery controls, and policy preset support. * **Documentation** * Expanded messaging-channel setup for Teams (prerequisites, credential/webhook setup, wizard flow, and add/remove commands). * Updated reference docs for **agent-specific** session export examples (OpenClaw vs Hermes). * Refreshed platform support guidance and added the latest release-notes entry. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
For Hermes sandboxes, 'nemoclaw/nemohermes gateway-token' previously dead-ended on the OpenClaw-only 'not applicable' diagnostic, leaving Hermes users who followed generic dashboard-token quickstart patterns without a next step during Day0 verification. Added a notApplicableLines() helper in src/lib/gateway-token-command.ts that, for the 'hermes' agent, appends two Hermes-specific lines directing users to the supported dashboard auth path: 'For Hermes dashboard access, run: nemoclaw dashboard-url' and a note that Hermes dashboard auth is read from the in-sandbox config (~/.hermes/config.yaml), not a gateway token. Non-Hermes, non-OpenClaw agents retain the single explanatory line. The command still exits cleanly (exit 1, diagnostics on stderr via GatewayTokenCommandError.lines rendered by the token.ts caller's failWithLines).
Related Issue
Fixes #5249
Changes
auto_fix/auto_fix_recent_issues.py.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Verification details reported by Claude Code:
git diff src/lib/gateway-token-command.tsgit diff src/lib/gateway-token-command.test.tsgrep -rni 'hermes/config' (verify config path)npx vitest run src/lib/gateway-token-command.test.tsnpx tsc --noEmit -p tsconfig.cli.jsonnpx biome check src/lib/gateway-token-command.ts src/lib/gateway-token-command.test.tsgit add src/lib/gateway-token-command.ts src/lib/gateway-token-command.test.ts && git commitSigned-off-by: Jason Ma jama@nvidia.com
Summary by CodeRabbit
Bug Fixes
~/.hermes/config.yamlpath), while other non-applicable agents show a single concise line.Documentation
nemohermes <name> dashboard-urland authenticate from~/.hermes/config.yamlinstead of using a gateway token.Tests