import { type ArtifactSource } from "./helpers.js"; import { type ValidationResult } from "./schemas.js"; export declare const TRACKER_SNAPSHOT_REL_PATH = "agent-state/tracker-snapshot.json"; export declare const TRACKER_SNAPSHOT_SCHEMA_REL_PATH = "agent-state/MODULES/schemas/TRACKER_SNAPSHOT.schema.json"; export declare const TRACKER_SNAPSHOT_SCHEMA_NAME = "tracker-snapshot@1.0.0"; export type TrackerAdapterKind = "none" | "memory" | "external"; export interface TrackerItem { item_id: string; external_id?: string; title: string; body?: string; state: string; labels: string[]; assignee?: string; url?: string; updated_at: string; metadata: Record; } export interface TrackerComment { comment_id: string; item_id: string; body: string; author: string; created_at: string; metadata: Record; } export interface TrackerSnapshot { version: 1; adapter_kind: TrackerAdapterKind; updated_at: string; items: TrackerItem[]; comments: TrackerComment[]; } export interface TrackerHealthCheckResult { ok: boolean; detail?: string; } export interface TrackerMutationResult { ok: boolean; comment_id?: string; error?: string; } export interface TrackerSnapshotResult { ok: boolean; schema: typeof TRACKER_SNAPSHOT_SCHEMA_NAME; path: string; source: ArtifactSource; snapshot?: TrackerSnapshot; errors?: string[]; } export interface IssueTrackerAdapter { kind: string; healthCheck?(): Promise; listActiveItems?(filter?: Record): Promise; getItemsById?(ids: string[]): Promise; createComment?(itemId: string, body: string): Promise<{ ok: boolean; comment_id?: string; error?: string; }>; updateItemState?(itemId: string, state: string): Promise<{ ok: boolean; error?: string; }>; } export declare function validateTrackerSnapshotContent(raw: string): ValidationResult; export declare function loadTrackerSnapshot(explicitPath?: string): TrackerSnapshotResult; export declare function readTrackerSnapshot(): TrackerSnapshot; export declare function getTrackerSnapshotPath(): string; export declare function writeTrackerSnapshot(snapshot: TrackerSnapshot): string; export declare function listTrackerAdapterKinds(): string[]; export declare function getTrackerAdapter(kind?: string): IssueTrackerAdapter; export declare function buildDefaultTrackerSnapshot(kind?: TrackerAdapterKind): TrackerSnapshot; //# sourceMappingURL=tracker-adapters.d.ts.map