(
deps: SummaryDeps,
segmentIds: number[],
options: SummaryOptions = {},
onProgress?: (current: number, total: number) => void
)
| 317 | } |
| 318 | |
| 319 | export async function generateSessionSummaries( |
| 320 | deps: SummaryDeps, |
| 321 | segmentIds: number[], |
| 322 | options: SummaryOptions = {}, |
| 323 | onProgress?: (current: number, total: number) => void |
| 324 | ): Promise<{ success: number; failed: number; skipped: number }> { |
| 325 | let success = 0 |
| 326 | let failed = 0 |
| 327 | let skipped = 0 |
| 328 | |
| 329 | for (let i = 0; i < segmentIds.length; i++) { |
| 330 | const result = await generateSessionSummary(deps, segmentIds[i], options) |
| 331 | if (result.success) { |
| 332 | success++ |
| 333 | } else if (result.error?.includes('少于') || result.error?.includes('less than') || result.error?.includes('few')) { |
| 334 | skipped++ |
| 335 | } else { |
| 336 | failed++ |
| 337 | } |
| 338 | onProgress?.(i + 1, segmentIds.length) |
| 339 | } |
| 340 | |
| 341 | return { success, failed, skipped } |
| 342 | } |
| 343 | |
| 344 | export function checkSessionsCanGenerateSummary( |
| 345 | deps: Pick<SummaryDeps, 'loadMessages' | 't'>, |
nothing calls this directly
no test coverage detected