feat(hermes): add managed tool gateway broker - #3324
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
d0c5d87 to
7f9b5bf
Compare
|
✨ Thanks for submitting this detailed PR about adding the Hermes managed-tool gateway broker. This change aims to improve the integration of Nous subscription tools with NemoClaw by introducing a host-managed OAuth broker. Related open PRs: |
Summary
Adds the Hermes managed-tool gateway broker as a follow-up stacked on #3320 so Nous subscription tools can run through host-managed OAuth without putting raw OAuth secrets in the sandbox. The first pass covers the current managed routes: Firecrawl web, FAL queue image, OpenAI audio TTS/STT, Browser Use, and optional Modal execution.
Changes
agents/hermes/host/, plus a host broker that refreshes viax-nous-refresh-token, injects upstream auth, normalizes decoded responses, and redacts/avoids logging secrets.nous-*policy presets that only allowhost.openshell.internal:11436/<service>plus the Browser Use CDP exception.connect, andstatus, and documents the new non-interactive env vars.Type of Change
Verification
Targeted checks run and passed:
python3 -m py_compile agents/hermes/plugin/__init__.pynpm run build:clinpx vitest run test/hermes-tool-gateway-broker.test.ts test/generate-hermes-config.test.ts test/policies.test.ts src/lib/oauth-device-code.test.ts src/lib/hermes-provider-auth.test.ts test/hermes-provider-foundation.test.ts test/hermes-plugin-handlers.test.ts test/hermes-sandbox-workflow.test.ts test/nemohermes-alias.test.ts src/lib/state/onboard-session.test.ts src/lib/actions/sandbox/status.test.tsnpx vitest run test/check-env-var-docs.test.tsnpx vitest run test/onboard.test.ts -t "starts the sandbox step before prompting for the sandbox name"npx prek run env-var-docs --files docs/reference/commands.md src/lib/onboard.ts src/lib/core/ports.tsgit diff --checkThe full local
test-clihook was attempted but not claimed here; it still fails in runtime-sensitive/full-suite tests on this machine (credentials,runtime-shell,sandbox-connect-inference,secret-redaction, and related CLI dispatch cases), matching the broader local harness instability rather than this targeted Hermes slice.npx prek run --all-filespassesnpm testpassesmake docsbuilds without warnings (doc changes only)Signed-off-by:$(git config user.name) <$ (git config user.email)>