50 lines
943 B
TypeScript
50 lines
943 B
TypeScript
/** Task from the tracker */
|
|
export interface TrackerTask {
|
|
id: string;
|
|
key: string;
|
|
title: string;
|
|
description: string;
|
|
status: string;
|
|
priority: string;
|
|
project_id: string;
|
|
parent_id?: string;
|
|
files?: TrackerFile[];
|
|
}
|
|
|
|
export interface TrackerFile {
|
|
id: string;
|
|
name: string;
|
|
url: string;
|
|
size: number;
|
|
}
|
|
|
|
/** Incoming event (tracker → agent via HTTP POST) */
|
|
export interface TrackerEvent {
|
|
event: string;
|
|
data: Record<string, unknown>;
|
|
ts: number;
|
|
id: string;
|
|
}
|
|
|
|
/** Agent response to tracker */
|
|
export interface TrackerResponse {
|
|
event: string;
|
|
data: Record<string, unknown>;
|
|
req_id: string;
|
|
}
|
|
|
|
/** Registration payload */
|
|
export interface RegistrationPayload {
|
|
name: string;
|
|
slug: string;
|
|
capabilities: string[];
|
|
max_concurrent_tasks: number;
|
|
callback_url: string;
|
|
}
|
|
|
|
/** Heartbeat payload */
|
|
export interface HeartbeatPayload {
|
|
status: 'idle' | 'busy';
|
|
current_tasks: string[];
|
|
}
|