/** * Generic issue adapter interface — decouples Totem commands from any * specific issue tracker (GitHub, Jira, Linear, etc.). */ export interface StandardIssue { number: number; title: string; body: string; state: string; labels: string[]; /** The owner/repo this issue belongs to (e.g., 'mmnto-ai/totem'). Omitted for single-repo setups. */ repo?: string; } export interface StandardIssueListItem { number: number; title: string; labels: string[]; updatedAt: string; /** The owner/repo this issue belongs to (e.g., 'mmnto-ai/totem'). Omitted for single-repo setups. */ repo?: string; } /** * Open issue carrying its `body`, for consumers that derive structure from the * issue text (e.g. `totem orient`'s epic→child grouping matches `**Parent:** #N` * in the body). Distinct from `StandardIssueListItem` because `fetchOpenIssues` * deliberately omits `body` (and `updatedAt` is not needed here) — widening the * shared list shape would burden every existing caller (e.g. `triage`). */ export interface StandardIssueWithBody { number: number; title: string; body: string; labels: string[]; } export interface IssueAdapter { fetchIssue(issueNumber: number): StandardIssue; fetchOpenIssues(limit?: number): StandardIssueListItem[]; /** * Fetch open issues including each issue's `body`. Optional so adapters that * don't support body-bearing list queries need not implement it. */ fetchOpenIssuesWithBody?(limit?: number): StandardIssueWithBody[]; } //# sourceMappingURL=issue-adapter.d.ts.map