trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
38 lines • 1.48 kB
TypeScript
/**
* Issue list view transforms.
*
* Pure functions that turn IssueInfo[] into grouped/sorted rows for the
* `trellis issue list` command. No I/O, no color — rendering is the caller's
* job. The TUI (OpenTUI) and web clients are separate surfaces that speak
* their own projection engines; this module owns only the plain-text/JSON CLI
* views.
*/
import type { IssueInfo } from '../vcs/issue.js';
export type IssueView = 'list' | 'table' | 'kanban';
export type IssueSort = 'priority' | 'created' | 'started' | 'progress' | 'blocked';
export type IssueGroupBy = 'status' | 'priority' | 'label' | 'assignee';
export declare const STATUS_ORDER: readonly ["backlog", "queue", "in_progress", "paused", "closed"];
export declare const PRIORITY_ORDER: readonly ["critical", "high", "medium", "low"];
export interface IssueRow {
issue: IssueInfo;
/** Acceptance-criteria completion as `passed/total`, or null when none. */
ac: {
passed: number;
total: number;
} | null;
}
export interface IssueGroup {
key: string;
label: string;
rows: IssueRow[];
}
export declare function sortRows(rows: IssueRow[], sort?: IssueSort): IssueRow[];
/**
* Build ordered, sorted, grouped rows for rendering.
* Groups are ordered sensibly (status/priority order, alpha otherwise).
*/
export declare function buildView(issues: IssueInfo[], opts?: {
sort?: IssueSort;
groupBy?: IssueGroupBy;
}): IssueGroup[];
//# sourceMappingURL=views.d.ts.map