Add route diagram page with execution overlay and group-aware APIs
Backend: Add group filtering to agent list, search, stats, and timeseries
endpoints. Add diagram lookup by group+routeId. Resolve application group
to agent IDs server-side for ClickHouse IN-clause queries.
Frontend: New route detail page at /apps/{group}/routes/{routeId} with
three tabs (Diagram, Performance, Processor Tree). SVG diagram rendering
with panzoom, execution overlay (glow effects, duration/sequence badges,
flow particles, minimap), and processor detail panel. uPlot charts for
performance tab replacing old SVG sparklines. Ctrl+Click from
ExecutionExplorer navigates to route diagram with overlay.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
61
ui/src/api/schema.d.ts
vendored
61
ui/src/api/schema.d.ts
vendored
@@ -394,6 +394,26 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/diagrams": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
/**
|
||||
* Find diagram by application group and route ID
|
||||
* @description Resolves group to agent IDs and finds the latest diagram for the route
|
||||
*/
|
||||
get: operations["findByGroupAndRoute"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/diagrams/{contentHash}/render": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -440,7 +460,7 @@ export interface paths {
|
||||
};
|
||||
/**
|
||||
* List all agents
|
||||
* @description Returns all registered agents, optionally filtered by status
|
||||
* @description Returns all registered agents, optionally filtered by status and/or group
|
||||
*/
|
||||
get: operations["listAgents"];
|
||||
put?: never;
|
||||
@@ -558,6 +578,8 @@ export interface components {
|
||||
routeId?: string;
|
||||
agentId?: string;
|
||||
processorType?: string;
|
||||
group?: string;
|
||||
agentIds?: string[];
|
||||
/** Format: int32 */
|
||||
offset?: number;
|
||||
/** Format: int32 */
|
||||
@@ -759,6 +781,7 @@ export interface components {
|
||||
width?: number;
|
||||
/** Format: double */
|
||||
height?: number;
|
||||
children?: components["schemas"]["PositionedNode"][];
|
||||
};
|
||||
/** @description OIDC configuration for SPA login flow */
|
||||
OidcPublicConfigResponse: {
|
||||
@@ -915,6 +938,7 @@ export interface operations {
|
||||
routeId?: string;
|
||||
agentId?: string;
|
||||
processorType?: string;
|
||||
group?: string;
|
||||
offset?: number;
|
||||
limit?: number;
|
||||
sortField?: string;
|
||||
@@ -1452,6 +1476,8 @@ export interface operations {
|
||||
query: {
|
||||
from: string;
|
||||
to?: string;
|
||||
routeId?: string;
|
||||
group?: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
@@ -1476,6 +1502,8 @@ export interface operations {
|
||||
from: string;
|
||||
to?: string;
|
||||
buckets?: number;
|
||||
routeId?: string;
|
||||
group?: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
@@ -1561,6 +1589,36 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
findByGroupAndRoute: {
|
||||
parameters: {
|
||||
query: {
|
||||
group: string;
|
||||
routeId: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description Diagram layout returned */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"*/*": components["schemas"]["DiagramLayout"];
|
||||
};
|
||||
};
|
||||
/** @description No diagram found for the given group and route */
|
||||
404: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content?: never;
|
||||
};
|
||||
};
|
||||
};
|
||||
renderDiagram: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1635,6 +1693,7 @@ export interface operations {
|
||||
parameters: {
|
||||
query?: {
|
||||
status?: string;
|
||||
group?: string;
|
||||
};
|
||||
header?: never;
|
||||
path?: never;
|
||||
|
||||
Reference in New Issue
Block a user