Files
openclaw-taskboard/lib/types.ts

85 lines
1.7 KiB
TypeScript

export type TaskStatus = "Backlog" | "Todo" | "In Progress" | "Review" | "Done";
export type TaskPriority = "Low" | "Medium" | "High" | "Critical";
export type AgentFamily = "openclaw" | "zeroclaw";
export type AgentStatus = "active" | "busy" | "idle";
export type TaskRecord = {
id: number;
title: string;
description: string;
assignee: string;
priority: TaskPriority;
status: TaskStatus;
tags: string[];
created_at: string;
updated_at: string;
completed_at: string | null;
};
export type WikiPageSummary = {
filename: string;
title: string;
created: string;
modified: string;
tags: string[];
};
export type WikiPage = {
filename: string;
content: string;
metadata: {
title: string;
created: string;
modified: string;
tags: string[];
};
};
export type AgentRouteSummary = {
label: string;
value: string;
};
export type FleetAgent = {
slug: string;
assignmentKey: string;
aliases: string[];
family: AgentFamily;
name: string;
host: string;
role: string;
runtimePath: string;
configPath: string | null;
model: string | null;
emoji: string;
channels: AgentRouteSummary[];
tools: string[];
capabilities: string[];
files: string[];
status: AgentStatus;
workload: number;
activeTasks: TaskRecord[];
completedTasks: TaskRecord[];
currentTask: string | null;
notes: string[];
};
export type FleetSection = {
id: AgentFamily;
title: string;
summary: string;
runtime: AgentRouteSummary[];
channels: AgentRouteSummary[];
configuredAgents: string[];
diagram: string;
notes: string[];
};
export type ArchitectureDocument = {
generatedAt: string;
title: string;
overview: string[];
sections: FleetSection[];
topologyDiagram: string;
};