PiliLily opened a new pull request, #514:
URL: https://github.com/apache/rocketmq-dashboard/pull/514

   ## Summary
   
   - add a versioned YAML tool catalog with a Draft 2020-12 schema, SHA-256 
digest, minimum-client metadata, deep immutability, and startup validation
   - add capability-aware discovery and schema-validated execution for the 
read-only `rmq.cluster.list` and `rmq.capabilities` L1 tools
   - extend the existing AI tools API without changing its response envelope, 
and add catalog metadata headers plus a generic execute endpoint
   - fail closed for invalid catalogs, embedded schemas, handler mappings, 
non-L1 tools, malformed input/output, and incomplete cluster metadata
   
   Closes #513.
   
   ## Why
   
   RIP-3 needs one stable tool contract that later Go CLI, MCP, and Studio UI 
clients can share. This PR intentionally provides only the first server-side 
read slice. It follows the maintainer feedback on earlier large submissions by 
keeping write tools, approval tokens, Go binaries, MCP transports, and UI work 
out of scope for independent follow-up PRs.
   
   Competition context: 
https://www.taiyi.top/competition-details?id=2f410866-6fa3-11f1-b193-02420a000011
   
   ## Compatibility and safety
   
   - `GET /api/ai/tools` keeps the existing `Result<List<AiToolVO>>` body and 
only adds fields and `X-RMQ-*` catalog headers.
   - Remote cluster access still goes through existing Studio services; no 
endpoint, broker, proxy, or NameServer details are exposed.
   - Tool registration is exactly one-to-one with the catalog and is verified 
when Spring starts.
   - Input and output schemas are meta-validated and eagerly initialized so 
invalid references fail before traffic is accepted.
   - Only L1 tools can execute in this slice.
   - Business exceptions preserve their HTTP 400/404 status and 
response-envelope code.
   
   ## Validation
   
   - `mvn -B -ntp clean verify` — 204 tests passed, Checkstyle 0, executable 
JAR produced
   - `npm run lint` — 0 errors; 4 pre-existing React Fast Refresh warnings
   - `npm run build` — passed; existing bundle-size warning only
   - `npm test -- src/api/ai.test.ts --run` — 9 tests passed
   - packaged-JAR smoke test — application started; cluster-list execution 
returned 200 and an unknown tool returned the expected 404 envelope
   
   The complete frontend suite remains at its existing baseline of 135/138 
tests: the three unrelated assertion failures are covered by #498, which is 
open and mergeable. This PR does not modify frontend source or tests.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to