fix(presets): add missing binaries to communication presets#1084
fix(presets): add missing binaries to communication presets#1084cortexj wants to merge 2 commits intoNVIDIA:mainfrom
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (3)
📝 WalkthroughWalkthroughThe presets for Discord, Slack, and Telegram network policies were updated to expand each preset's binaries allowlist by adding Changes
Estimated Code Review Effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
nemoclaw-blueprint/policies/presets/slack.yaml (1)
44-48: Optional: centralize shared communication preset binaries to reduce drift.The same binary block now exists across Slack/Telegram/Discord. If the preset system supports it, consider a shared include/anchor to keep these lists consistent over time.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@nemoclaw-blueprint/policies/presets/slack.yaml` around lines 44 - 48, The binaries list under the "binaries" key in the Slack preset is duplicated across Slack/Telegram/Discord; refactor by extracting the shared array into a single reusable item (e.g., a YAML anchor/alias or a shared preset/include) and reference that from each communication preset (Slack, Telegram, Discord) so the entries like "/usr/local/bin/node", "/usr/bin/node", "/usr/bin/curl", "/usr/bin/bash" are maintained in one place rather than repeated in the Slack/Telegram/Discord presets.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@nemoclaw-blueprint/policies/presets/slack.yaml`:
- Around line 44-48: The binaries list under the "binaries" key in the Slack
preset is duplicated across Slack/Telegram/Discord; refactor by extracting the
shared array into a single reusable item (e.g., a YAML anchor/alias or a shared
preset/include) and reference that from each communication preset (Slack,
Telegram, Discord) so the entries like "/usr/local/bin/node", "/usr/bin/node",
"/usr/bin/curl", "/usr/bin/bash" are maintained in one place rather than
repeated in the Slack/Telegram/Discord presets.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 6bff0b9f-c608-4576-bf56-a1da2ede4c34
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (3)
nemoclaw-blueprint/policies/presets/discord.yamlnemoclaw-blueprint/policies/presets/slack.yamlnemoclaw-blueprint/policies/presets/telegram.yaml
Telegram, Discord, and Slack presets only allowlist /usr/local/bin/node. On Debian/Ubuntu where Node.js installs to /usr/bin/node, and for skills using curl or bash scripts, the OpenShell proxy returns HTTP 403. Add /usr/bin/node, /usr/bin/curl, and /usr/bin/bash to all three presets. Fixes NVIDIA#481
ee44717 to
3df7c2d
Compare
|
Good catch — YAML anchors only work within a single document, and these are independent preset files loaded separately. A shared binaries include mechanism would need changes to the preset loader, which is out of scope for this fix. Happy to contribute if the team wants to build that into the preset system. |
|
✨ Thanks for submitting this PR with a detailed summary, it addresses a bug with communication presets and proposes a fix to improve the integration of NemoClaw with Discord and Telegram, which could enhance the user experience. |
Summary
Communication presets (Telegram, Discord, Slack) only allowlist
/usr/local/bin/nodein thebinariesfield. On Debian/Ubuntu where Node.js installs to/usr/bin/node, and for skills usingcurlor bash scripts, the OpenShell proxy returns HTTP 403 on all outbound HTTPS from the sandbox.Related Issue
Fixes #481
Changes
/usr/bin/nodeto telegram, discord, and slack presets (Debian/Ubuntu default Node.js path)/usr/bin/curlto all three presets (HTTP client used by skills for API calls)/usr/bin/bashto all three presets (required for shell script execution inside sandbox)Type of Change
Testing
npx prek run --all-filespasses (or equivalentlymake check).npm testpasses.make docsbuilds without warnings. (for doc-only changes)Manual testing:
curland bash-based skills no longer receive 403 from proxy at 10.200.0.1:3128prek; TypeScript type-check failures are pre-existing and unrelated to this changeChecklist
General
Code Changes
npx prek run --all-filesauto-fixes formatting (ormake formatfor targeted runs).Summary by CodeRabbit