feat(rabbitmq): add RabbitMQ integration - #6700
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryMedium Risk Overview The new Supporting tool behavior (from the PR description and tests) includes treating failed health checks as Reviewed by Cursor Bugbot for commit 2b15905. Configure here. |
Greptile SummaryThe PR adds a RabbitMQ Management HTTP API integration with 25 operations, corresponding block configuration, generated tool metadata, documentation, icons, and tests.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/sim/tools/rabbitmq/utils.ts | Centralizes host normalization, URL construction, authentication, pagination, parsing, and RabbitMQ response projection; the previously reported redirect and remote-HTTP behaviors are addressed. |
| apps/sim/tools/rabbitmq/get_messages.ts | Implements bounded message retrieval with count-aware payload truncation and a metadata reserve; the unavoidable oversized-header limitation is explicitly documented. |
| apps/sim/tools/rabbitmq/rabbitmq.test.ts | Covers operation behavior and verifies redirect-auth stripping across all exported RabbitMQ tools. |
| apps/sim/blocks/blocks/rabbitmq.ts | Defines the RabbitMQ block’s operations, inputs, output mappings, and tool dispatch configuration. |
| apps/docs/content/docs/en/integrations/rabbitmq.mdx | Documents setup requirements, supported operations, HTTPS restrictions, and message-retrieval limits. |
Sequence Diagram
sequenceDiagram
participant Workflow as Sim Workflow
participant Tool as RabbitMQ Tool
participant Transport as Secure HTTP Transport
participant Broker as RabbitMQ Management API
Workflow->>Tool: Execute selected operation
Tool->>Tool: Normalize host and build Basic auth
Tool->>Transport: Request with redirect auth stripping
Transport->>Broker: Validated HTTPS request
Broker-->>Transport: Management API response
Transport-->>Tool: Size-bounded response
Tool-->>Workflow: Projected operation output
Reviews (3): Last reviewed commit: "fix(rabbitmq): reserve message metadata ..." | Re-trigger Greptile
…etrieval response
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 384d21b. Configure here.
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 2b15905. Configure here.
Summary
Notes on behavior worth reviewing
503with a meaningful body. That is reported as a successful call withhealthy: false, not a tool error — only non-200/503 is an error.routed: falsewhen no binding matched and the broker dropped the message, soroutedis a first-class output.messages,consumers,memory) are absent until the broker's stats interval ticks, so they are nullable rather than defaulted to 0 — reporting 0 would read as "empty" when the truth is "unknown".GET /api/vhostsanswers500if given pagination parameters, so that one call deliberately sends none.counton message retrieval has no server-side cap and payloads are unbounded, so both are bounded: count is clamped, andtruncateis always sent so oversized payloads are cut broker-side and flagged viatruncated.Not included
Users, permissions, and virtual-host lifecycle are left out — that surface is normally managed as infrastructure-as-code rather than from an agent workflow. Happy to add it if wanted.
Type of Change
Testing
All 25 operations exercised end-to-end against live RabbitMQ 4.3 and 3.13 brokers (including a real AMQP consumer for the connection/channel/consumer shapes), covering success and failure paths. 29 unit tests, each verified to fail without its fix.
Checklist