(session: RunSession, limit = LIMIT)
| 161 | } |
| 162 | |
| 163 | export function sessionHistory(session: RunSession, limit = LIMIT): RunPrompt[] { |
| 164 | const out: RunPrompt[] = [] |
| 165 | |
| 166 | for (const turn of session.turns) { |
| 167 | if (!turn.prompt.text.trim()) { |
| 168 | continue |
| 169 | } |
| 170 | |
| 171 | if (out[out.length - 1] && promptSame(out[out.length - 1], turn.prompt)) { |
| 172 | continue |
| 173 | } |
| 174 | |
| 175 | out.push(promptCopy(turn.prompt)) |
| 176 | } |
| 177 | |
| 178 | return out.slice(-limit) |
| 179 | } |
| 180 | |
| 181 | export function sessionVariant(session: RunSession, model: RunInput["model"]): string | undefined { |
| 182 | if (!model) { |
no test coverage detected