feat: add bot gateway#3763
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
# Conflicts: # desktop/frontend/src/components/SettingsPanel.tsx # desktop/frontend/src/styles.css # internal/config/config.go
esengine
left a comment
There was a problem hiding this comment.
Thanks @SivanCola — clean extraction from #3752, and the lint cleanup landed. CI is green across the board (lint/race/test x3/desktop/CodeQL) and the package carries tests for the gateway, sessions, render, and each adapter's verification path.
Reviewed the inbound surface: Feishu's optional webhook is token-verified, QQ and Weixin are outbound-authenticated (no exposed inbound), so there's no unauthenticated path to drive the agent. Merging.
I'll land a small hardening follow-up right after — refuse Feishu webhook mode when no verification token is set, and address the weixin.go file size. Appreciate the responsiveness on the split.
#3779) Follow-up to #3763. - Feishu webhook mode is the default, and verificationTokenValid accepts any caller when no token is configured, so an empty verification_token exposed an unauthenticated event endpoint. Refuse to start webhook mode without a token (fail closed). - Move the weixin account-persistence and QR-login block to weixin_login.go, bringing weixin.go under the 800-line ceiling (811->587). Co-authored-by: reasonix <reasonix@deepseek.com>
) Lands the bot gateway as its own feature, extracted from esengine#3752: gateway/session plumbing plus Feishu, Weixin, and QQ adapters, CLI/config support, and the desktop Settings UI for bot channel configuration and guided setup. Co-authored-by trailers preserved from the source branch.
esengine#3779) Follow-up to esengine#3763. - Feishu webhook mode is the default, and verificationTokenValid accepts any caller when no token is configured, so an empty verification_token exposed an unauthenticated event endpoint. Refuse to start webhook mode without a token (fail closed). - Move the weixin account-persistence and QR-login block to weixin_login.go, bringing weixin.go under the 800-line ceiling (811->587). Co-authored-by: reasonix <reasonix@deepseek.com>
Summary
Testing
go test ./internal/bot ./internal/cli ./internal/config(cd desktop && go test ./...)(cd desktop/frontend && npm run build)afternpm ciandwails generate moduleNote: a full root
go test ./...was attempted, but this local macOS environment has unrelated sandbox/config-sensitive failures ininternal/sandboxandinternal/tool/builtin; the bot/config/CLI target packages passed.