- SearchResult uses 'data' not 'items', 'total' not 'totalCount' - ExecutionStats uses 'p99LatencyMs' not 'p99DurationMs' - TimeseriesBucket uses 'time' not 'timestamp' - Add user Dropdown with logout action to LayoutShell Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
249 lines
7.5 KiB
TypeScript
249 lines
7.5 KiB
TypeScript
// Placeholder — regenerate with: npm run generate-api:live
|
|
// This file will be overwritten by openapi-typescript when the backend is running.
|
|
|
|
export interface paths {
|
|
'/auth/login': {
|
|
post: {
|
|
requestBody: { content: { 'application/json': { username: string; password: string } } };
|
|
responses: { 200: { content: { 'application/json': { accessToken: string; refreshToken: string; displayName?: string } } } };
|
|
};
|
|
};
|
|
'/auth/refresh': {
|
|
post: {
|
|
requestBody: { content: { 'application/json': { refreshToken: string } } };
|
|
responses: { 200: { content: { 'application/json': { accessToken: string; refreshToken: string; displayName?: string } } } };
|
|
};
|
|
};
|
|
'/auth/oidc/config': {
|
|
get: {
|
|
responses: { 200: { content: { 'application/json': { clientId?: string; authorizationEndpoint?: string; endSessionEndpoint?: string } } } };
|
|
};
|
|
};
|
|
'/auth/oidc/callback': {
|
|
post: {
|
|
requestBody: { content: { 'application/json': { code: string; redirectUri: string } } };
|
|
responses: { 200: { content: { 'application/json': { accessToken: string; refreshToken: string; displayName?: string; idToken?: string } } } };
|
|
};
|
|
};
|
|
'/agents': {
|
|
get: {
|
|
parameters: { query?: { status?: string; group?: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['AgentInstanceResponse'][] } } };
|
|
};
|
|
};
|
|
'/agents/events-log': {
|
|
get: {
|
|
parameters: { query?: { appId?: string; agentId?: string; from?: string; to?: string; limit?: number } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['AgentEventResponse'][] } } };
|
|
};
|
|
};
|
|
'/search/executions': {
|
|
post: {
|
|
requestBody: { content: { 'application/json': components['schemas']['SearchRequest'] } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['SearchResultExecutionSummary'] } } };
|
|
};
|
|
};
|
|
'/search/stats': {
|
|
get: {
|
|
parameters: { query: { from: string; to?: string; routeId?: string; group?: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['ExecutionStats'] } } };
|
|
};
|
|
};
|
|
'/search/stats/timeseries': {
|
|
get: {
|
|
parameters: { query: { from: string; to?: string; buckets?: number; routeId?: string; group?: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['StatsTimeseries'] } } };
|
|
};
|
|
};
|
|
'/executions/{executionId}': {
|
|
get: {
|
|
parameters: { path: { executionId: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['ExecutionDetail'] } } };
|
|
};
|
|
};
|
|
'/executions/{executionId}/processors/{index}/snapshot': {
|
|
get: {
|
|
parameters: { path: { executionId: string; index: number } };
|
|
responses: { 200: { content: { 'application/json': Record<string, unknown> } } };
|
|
};
|
|
};
|
|
'/diagrams/{contentHash}/render': {
|
|
get: {
|
|
parameters: { path: { contentHash: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['DiagramLayout'] } } };
|
|
};
|
|
};
|
|
'/diagrams': {
|
|
get: {
|
|
parameters: { query: { group: string; routeId: string } };
|
|
responses: { 200: { content: { 'application/json': Record<string, unknown> } } };
|
|
};
|
|
};
|
|
'/routes/catalog': {
|
|
get: {
|
|
responses: { 200: { content: { 'application/json': components['schemas']['AppCatalogEntry'][] } } };
|
|
};
|
|
};
|
|
'/routes/metrics': {
|
|
get: {
|
|
parameters: { query?: { from?: string; to?: string; appId?: string } };
|
|
responses: { 200: { content: { 'application/json': components['schemas']['RouteMetrics'][] } } };
|
|
};
|
|
};
|
|
}
|
|
|
|
export interface components {
|
|
schemas: {
|
|
ExecutionSummary: {
|
|
executionId: string;
|
|
routeId: string;
|
|
agentId: string;
|
|
groupName: string;
|
|
status: string;
|
|
startTime: string;
|
|
endTime?: string;
|
|
durationMs: number;
|
|
errorMessage?: string;
|
|
correlationId?: string;
|
|
exchangeId?: string;
|
|
};
|
|
SearchRequest: {
|
|
timeFrom?: string;
|
|
timeTo?: string;
|
|
routeId?: string;
|
|
group?: string;
|
|
agentId?: string;
|
|
status?: string;
|
|
text?: string;
|
|
offset?: number;
|
|
limit?: number;
|
|
sortField?: string;
|
|
sortDir?: string;
|
|
};
|
|
ExecutionDetail: {
|
|
executionId: string;
|
|
routeId: string;
|
|
agentId: string;
|
|
groupName: string;
|
|
status: string;
|
|
startTime: string;
|
|
endTime?: string;
|
|
durationMs: number;
|
|
errorMessage?: string;
|
|
errorStacktrace?: string;
|
|
correlationId?: string;
|
|
exchangeId?: string;
|
|
diagramContentHash?: string;
|
|
children: components['schemas']['ProcessorNode'][];
|
|
};
|
|
ProcessorNode: {
|
|
processorId: string;
|
|
processorType: string;
|
|
diagramNodeId?: string;
|
|
status: string;
|
|
startTime: string;
|
|
endTime?: string;
|
|
durationMs: number;
|
|
errorMessage?: string;
|
|
children: components['schemas']['ProcessorNode'][];
|
|
};
|
|
ExecutionStats: {
|
|
totalCount: number;
|
|
failedCount: number;
|
|
avgDurationMs: number;
|
|
p99LatencyMs: number;
|
|
activeCount: number;
|
|
totalToday: number;
|
|
prevTotalCount: number;
|
|
prevFailedCount: number;
|
|
prevAvgDurationMs: number;
|
|
prevP99DurationMs: number;
|
|
};
|
|
StatsTimeseries: {
|
|
buckets: components['schemas']['TimeseriesBucket'][];
|
|
};
|
|
TimeseriesBucket: {
|
|
time: string;
|
|
totalCount: number;
|
|
failedCount: number;
|
|
avgDurationMs: number;
|
|
p99DurationMs: number;
|
|
activeCount: number;
|
|
};
|
|
SearchResultExecutionSummary: {
|
|
data: components['schemas']['ExecutionSummary'][];
|
|
total: number;
|
|
offset: number;
|
|
limit: number;
|
|
};
|
|
UserInfo: {
|
|
userId: string;
|
|
provider: string;
|
|
email: string;
|
|
displayName: string;
|
|
createdAt: string;
|
|
};
|
|
AgentInstanceResponse: {
|
|
id: string;
|
|
name: string;
|
|
group: string;
|
|
status: string;
|
|
routeIds: string[];
|
|
registeredAt: string;
|
|
lastHeartbeat: string;
|
|
tps: number;
|
|
errorRate: number;
|
|
activeRoutes: number;
|
|
totalRoutes: number;
|
|
uptimeSeconds: number;
|
|
};
|
|
AgentEventResponse: {
|
|
id: number;
|
|
agentId: string;
|
|
appId: string;
|
|
eventType: string;
|
|
detail?: string;
|
|
timestamp: string;
|
|
};
|
|
AppCatalogEntry: {
|
|
appId: string;
|
|
routes: components['schemas']['RouteSummary'][];
|
|
agents: components['schemas']['AgentSummary'][];
|
|
agentCount: number;
|
|
health: string;
|
|
exchangeCount: number;
|
|
};
|
|
RouteSummary: {
|
|
routeId: string;
|
|
exchangeCount: number;
|
|
lastSeen?: string;
|
|
};
|
|
AgentSummary: {
|
|
id: string;
|
|
name: string;
|
|
status: string;
|
|
tps: number;
|
|
};
|
|
RouteMetrics: {
|
|
routeId: string;
|
|
appId: string;
|
|
exchangeCount: number;
|
|
successRate: number;
|
|
avgDurationMs: number;
|
|
p99LatencyMs: number;
|
|
errorRate: number;
|
|
throughputPerSec: number;
|
|
sparkline: number[];
|
|
};
|
|
DiagramLayout: Record<string, unknown>;
|
|
PositionedNode: Record<string, unknown>;
|
|
PositionedEdge: Record<string, unknown>;
|
|
OidcAdminConfigResponse: Record<string, unknown>;
|
|
OidcAdminConfigRequest: Record<string, unknown>;
|
|
OidcTestResult: Record<string, unknown>;
|
|
OidcPublicConfigResponse: Record<string, unknown>;
|
|
AuthTokenResponse: { accessToken: string; refreshToken: string; displayName?: string };
|
|
ErrorResponse: { error: string; details?: string };
|
|
};
|
|
}
|