| 1 | const RECOVERED_INSTRUCTION_COUNT = 30; |
| 2 | const RECOVERED_INSTRUCTION_BYTES = 1024 * 1024; |
| 3 | |
| 4 | const PREVIEWS = [ |
| 5 | "分析知识库原文并整理关键结论、引用位置与待确认事项。", |
| 6 | "检查仓库实现,补充回归测试并汇报验证结果。", |
| 7 | "对比现有设计与需求,提出最小改动方案后执行。", |
| 8 | ] as const; |
| 9 | |
| 10 | let recoveryPaused = true; |
| 11 | |
| 12 | export function setInboxRecoveryPreviewPaused(paused: boolean): void { |
| 13 | recoveryPaused = paused; |
| 14 | } |
| 15 | |
| 16 | export function inboxRecoveryPreviewSnapshot(paused = recoveryPaused) { |
| 17 | const items = Array.from({ length: RECOVERED_INSTRUCTION_COUNT }, (_, index) => ({ |
| 18 | id: `recovered-${index + 1}`, |
| 19 | intent: "followup", |
| 20 | state: "uncertain", |
| 21 | preview: `${index + 1}. ${PREVIEWS[index % PREVIEWS.length]}`, |
| 22 | byteSize: RECOVERED_INSTRUCTION_BYTES, |
| 23 | source: "desktop", |
| 24 | position: index + 1, |
| 25 | })); |
| 26 | return { |
| 27 | revision: 1, |
| 28 | paused, |
| 29 | recovered: true, |
| 30 | recoveredCount: RECOVERED_INSTRUCTION_COUNT, |
| 31 | items, |
| 32 | itemsCount: items.length, |
| 33 | bytes: items.length * RECOVERED_INSTRUCTION_BYTES, |
| 34 | maxItems: 64, |
| 35 | maxBytes: 64 * 1024 * 1024, |
| 36 | }; |
| 37 | } |
| 38 |