feat(nats): add native integration and MQ console - #6419
Conversation
Restructure NATS into the shared MQ admin toolbar/tabs/content interaction, split subject/publish/message/JetStream panels, label the sidebar as NATS Console instead of Topics, and route user-facing copy through nats/mqAdmin locale keys.
Split Core NATS into dedicated publish and multi-subscription tabs, collapse JetStream into a single list-to-detail workspace (overview/messages/consumers) aligned with NUI, restore Kafka send-first messages layout, and clean up i18n.
t8y2
left a comment
There was a problem hiding this comment.
Request changes: the latest head fixes the unreaped NATS Agent process, but two release/protocol blockers remain.
-
agents/drivers/nats/go.mod:3requires Go 1.23, while.github/workflows/agents-release.yml:380still installs Go 1.22.x. The native-agent Release job therefore fails before tests or cross-compilation withgo.mod requires go >= 1.23.0. Please align the release toolchain and validate the NATS release job. -
JetStream sequence values are
u64in Rust/NATS, but the frontend contract still uses JavaScriptnumber(apps/desktop/src/types/nats.ts:71,:72,:86-89,:103,:114), and Go request parameters are decoded throughmap[string]any, turning JSON numbers intofloat64. Values aboveNumber.MAX_SAFE_INTEGERare silently rounded; for example9007199254740993becomes9007199254740992. Please carry sequences as decimal strings across Go/Rust/TypeScript, or reject values outside the safe integer range explicitly.
These require a release-toolchain change and a cross-language protocol decision, so they are not safe maintainer-side patches.
t8y2
left a comment
There was a problem hiding this comment.
The two blocking findings from the previous review are resolved on this head.
- The NATS release job now uses Go 1.23, matching
agents/drivers/nats/go.mod. I also verified the exact code with Go 1.23.12:go test ./...passed and all six release targets cross-compiled successfully. - JetStream stream, consumer, continuation, and input sequence values now cross the Go/Rust/MCP/TypeScript boundaries as decimal strings. The regression coverage preserves
9007199254740993exactly and rejects numericstartSequencevalues at the agent boundary.
Additional focused validation passed: 6 Rust NATS type tests, locked dbx-mcp check, 5 JetStream panel tests, and frontend typecheck.
The current Rust CI failure is the same unrelated minimax_china_stream_keeps_incremental_fragments_that_share_a_prefix baseline failure already present on main; it does not touch this PR's NATS changes.
变更说明
本 PR 为 DBX 增加 NATS 原生驱动及桌面端 MQ 控制台,并修复 NATS 控制台的交互、异步生命周期和连接复用问题。
system_kind字段。docs/superpowers文件夹,避免无关设计和计划文件进入本 PR。变更类型
涉及前端
验证
make checkmake cargo-check-fast32001339847)本 PR 不以本地测试结果作为验证依据;提交钩子已完成必要格式化,最终以 GitHub Actions 为准。
关联 Issue