(message: SessionV1.WithParts)
| 50 | } |
| 51 | |
| 52 | function summaryText(message: SessionV1.WithParts) { |
| 53 | const text = message.parts |
| 54 | .filter((part): part is SessionV1.TextPart => part.type === "text") |
| 55 | .map((part) => part.text.trim()) |
| 56 | .filter(Boolean) |
| 57 | .join("\n\n") |
| 58 | .trim() |
| 59 | return text || undefined |
| 60 | } |
| 61 | |
| 62 | function completedCompactions(messages: SessionV1.WithParts[]) { |
| 63 | const users = new Map<MessageID, number>() |
no outgoing calls
no test coverage detected