/** * pi-usage-stats 类型定义 */ /** 按天聚合的工具统计 */ export interface ToolDailyStats { /** AI 调用次数 */ ai: number; /** 用户命令调用次数 */ user: number; /** 失败次数(仅 AI 调用可追踪) */ errors: number; } /** 工具元信息 */ export interface ToolMeta { /** 首次使用时间 ISO string */ firstUsed: string; /** 末次使用时间 ISO string */ lastUsed: string; /** 历史 AI 总调用 */ totalAi: number; /** 历史 user 总调用 */ totalUser: number; } /** 完整的统计数据文件 */ export interface UsageStatsData { /** 版本号,用于未来迁移 */ version: 2; /** 每个 session 的 jsonl 文件处理偏移量(byte offset) */ cursors: Record; /** 按天聚合:{ "2026-05-29": { "bash": { ai: 42, user: 0, errors: 2 } } } */ daily: Record>; /** 工具元信息 */ tools: Record; } /** 查询参数 */ export interface UsageQuery { /** 时间范围:today / week / all */ period?: "today" | "week" | "all"; /** 按工具名过滤(支持前缀匹配) */ toolName?: string; } /** 查询结果中的单条工具统计 */ export interface ToolUsageRow { toolName: string; ai: number; user: number; errors: number; total: number; } /** 查询结果 */ export interface UsageReport { period: string; rows: ToolUsageRow[]; totals: { ai: number; user: number; errors: number; total: number; }; uniqueTools: number; }