187 lines
4.0 KiB
TypeScript
187 lines
4.0 KiB
TypeScript
|
|
/**
|
||
|
|
* Hand-written OpenAPI types matching the cameleer3 server REST API.
|
||
|
|
* Will be replaced by openapi-typescript codegen once 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;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
401: { content: { 'application/json': { message: string } } };
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
'/auth/refresh': {
|
||
|
|
post: {
|
||
|
|
requestBody: {
|
||
|
|
content: {
|
||
|
|
'application/json': {
|
||
|
|
refreshToken: string;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
responses: {
|
||
|
|
200: {
|
||
|
|
content: {
|
||
|
|
'application/json': {
|
||
|
|
accessToken: string;
|
||
|
|
refreshToken: string;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
401: { content: { 'application/json': { message: string } } };
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
'/search/executions': {
|
||
|
|
post: {
|
||
|
|
requestBody: {
|
||
|
|
content: {
|
||
|
|
'application/json': SearchRequest;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
responses: {
|
||
|
|
200: {
|
||
|
|
content: {
|
||
|
|
'application/json': SearchResponse;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
'/executions/{executionId}': {
|
||
|
|
get: {
|
||
|
|
parameters: {
|
||
|
|
path: { executionId: string };
|
||
|
|
};
|
||
|
|
responses: {
|
||
|
|
200: {
|
||
|
|
content: {
|
||
|
|
'application/json': ExecutionDetail;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
404: { content: { 'application/json': { message: string } } };
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
'/executions/{executionId}/processors/{index}/snapshot': {
|
||
|
|
get: {
|
||
|
|
parameters: {
|
||
|
|
path: { executionId: string; index: number };
|
||
|
|
};
|
||
|
|
responses: {
|
||
|
|
200: {
|
||
|
|
content: {
|
||
|
|
'application/json': ExchangeSnapshot;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
404: { content: { 'application/json': { message: string } } };
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
'/agents': {
|
||
|
|
get: {
|
||
|
|
parameters: {
|
||
|
|
query?: { status?: string };
|
||
|
|
};
|
||
|
|
responses: {
|
||
|
|
200: {
|
||
|
|
content: {
|
||
|
|
'application/json': AgentInstance[];
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface SearchRequest {
|
||
|
|
status?: string | null;
|
||
|
|
timeFrom?: string | null;
|
||
|
|
timeTo?: string | null;
|
||
|
|
durationMin?: number | null;
|
||
|
|
durationMax?: number | null;
|
||
|
|
correlationId?: string | null;
|
||
|
|
text?: string | null;
|
||
|
|
textInBody?: string | null;
|
||
|
|
textInHeaders?: string | null;
|
||
|
|
textInErrors?: string | null;
|
||
|
|
offset?: number;
|
||
|
|
limit?: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface SearchResponse {
|
||
|
|
results: ExecutionSummary[];
|
||
|
|
total: number;
|
||
|
|
offset: number;
|
||
|
|
limit: number;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ExecutionSummary {
|
||
|
|
executionId: string;
|
||
|
|
routeId: string;
|
||
|
|
agentId: string;
|
||
|
|
status: 'COMPLETED' | 'FAILED' | 'RUNNING';
|
||
|
|
startTime: string;
|
||
|
|
duration: number;
|
||
|
|
processorCount: number;
|
||
|
|
correlationId: string | null;
|
||
|
|
errorMessage: string | null;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ExecutionDetail {
|
||
|
|
executionId: string;
|
||
|
|
routeId: string;
|
||
|
|
agentId: string;
|
||
|
|
status: 'COMPLETED' | 'FAILED' | 'RUNNING';
|
||
|
|
startTime: string;
|
||
|
|
duration: number;
|
||
|
|
correlationId: string | null;
|
||
|
|
errorMessage: string | null;
|
||
|
|
processors: ProcessorNode[];
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ProcessorNode {
|
||
|
|
index: number;
|
||
|
|
processorId: string;
|
||
|
|
processorType: string;
|
||
|
|
uri: string | null;
|
||
|
|
status: 'COMPLETED' | 'FAILED' | 'RUNNING';
|
||
|
|
duration: number;
|
||
|
|
errorMessage: string | null;
|
||
|
|
children: ProcessorNode[];
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface ExchangeSnapshot {
|
||
|
|
exchangeId: string;
|
||
|
|
correlationId: string | null;
|
||
|
|
bodyType: string | null;
|
||
|
|
body: string | null;
|
||
|
|
headers: Record<string, string> | null;
|
||
|
|
properties: Record<string, string> | null;
|
||
|
|
}
|
||
|
|
|
||
|
|
export interface AgentInstance {
|
||
|
|
agentId: string;
|
||
|
|
group: string;
|
||
|
|
state: 'LIVE' | 'STALE' | 'DEAD';
|
||
|
|
lastHeartbeat: string;
|
||
|
|
registeredAt: string;
|
||
|
|
}
|