Tighten OpenRPC schemas for admin mcp.* / metrics.* — typed accessors #134
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_aibroker#134
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Several admin-domain OpenRPC methods declare bare
{type: object}result schemas, soopenrpc_client!generates#[serde(transparent)] { value: serde_json::Value }outputs. Every consumer (CLI, admin UI, integration tests) has to walk raw JSON viaresult.value.get(...).Affected methods
mcp.health→McpHealthOutputmcp.list_tools→McpListToolsOutputmetrics.get→MetricsGetOutputCurrent consumer pattern (from CLI)
Proposed fix
crates/hero_aibroker_server/src/api_openrpc/admin/{mcp.rs,metrics.rs}) to return typed structs instead of rawValue.crates/hero_aibroker_server/specs/admin.openrpc.jsonto declare proper response schemas (status,server_count,tool_count,requests_total, etc.).admin.openrpc.client.generated.rsso consumers get typed accessors.result.value.get(...)walks in CLI consumers.Surfaced during the post-spec-consolidation CLI rewrite cleanup pass.