mirror of
https://github.com/NVIDIA/NemoClaw.git
synced 2026-07-03 03:37:16 +00:00
Some checks are pending
Security / Code Scanning / CodeQL (javascript-typescript) (push) Waiting to run
Security / Code Scanning / CodeQL (python) (push) Waiting to run
Security / Code Scanning / ShellCheck SARIF (push) Waiting to run
Security / Installer Hash Check / check-hash (push) Waiting to run
E2E / macOS / macos-e2e (push) Waiting to run
CI / Main / checks (push) Waiting to run
CI / Main / sandbox-images-and-e2e (push) Blocked by required conditions
CI / Platform Vitest Main Watch / macos-vitest (push) Waiting to run
CI / Platform Vitest Main Watch / wsl-vitest (push) Waiting to run
Request NVSkills CI / request (push) Waiting to run
E2E / WSL / wsl-e2e (push) Waiting to run
## Summary - Fixes #4246. The Discord branch of `nemoclaw onboard` writes `channels.discord` and installs the `@openclaw/discord` npm package, but never registers `plugins.entries.discord`, so OpenClaw never loads the bridge at boot and the bot stays offline even with valid credentials configured. - `scripts/generate-openclaw-config.py` now sets `plugins.entries.discord = {enabled: true}` whenever `discord` is in the active messaging channel set, mirroring how Dockerfile.base pairs the WeChat plugin install with `openclaw config set plugins.entries.openclaw-weixin.enabled true`. - Two new tests in `test/generate-openclaw-config.test.ts` lock the contract: the entry appears when the channel is on, and is absent when it is off. ## Test plan - [x] `npx vitest run --project cli test/generate-openclaw-config.test.ts` — 87/87 pass locally - [ ] In an `--fresh` Discord onboard run, confirm `~/.openclaw/openclaw.json` now contains `plugins.entries.discord.enabled = true` and the bot replies to an `@mention` in the configured server Signed-off-by: Shawn Xie <shaxie@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Discord bot bridge now automatically enables when Discord is configured as a messaging channel, so the plugin loads at startup without manual intervention. * **Tests** * Added functional tests verifying the Discord plugin is enabled when Discord channels are configured and absent when not configured. * **Build** * Config generation moved to a Node/TypeScript-based generator during image/build, updating the build-time config step. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Shawn Xie <shaxie@nvidia.com> Signed-off-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Co-authored-by: Aaron Erickson 🦞 <aerickson@nvidia.com> Co-authored-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
21 lines
689 B
JSON
21 lines
689 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"module": "preserve",
|
|
"moduleResolution": "bundler",
|
|
"lib": ["ES2022"],
|
|
"strict": true,
|
|
"allowJs": true,
|
|
"checkJs": false,
|
|
"noEmit": true,
|
|
"allowImportingTsExtensions": true,
|
|
"esModuleInterop": true,
|
|
"skipLibCheck": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"resolveJsonModule": true,
|
|
"moduleDetection": "force",
|
|
"types": ["node"]
|
|
},
|
|
"include": ["agents/hermes/**/*.ts", "bin/**/*.ts", "scripts/**/*.ts", "scripts/**/*.mts", "src/**/*.ts", "test/**/*.ts", "tools/**/*.ts", "tools/**/*.mts", "nemoclaw-blueprint/scripts/**/*.ts"],
|
|
"exclude": ["node_modules", "nemoclaw"]
|
|
}
|