(request: ModelRequest)
| 33 | |
| 34 | |
| 35 | def _reordered(request: ModelRequest) -> ModelRequest: |
| 36 | messages = [_repaired_message(m) for m in request.messages] |
| 37 | system = [m for m in messages if getattr(m, "type", None) in _SYSTEM_TYPES] |
| 38 | rest = [m for m in messages if getattr(m, "type", None) not in _SYSTEM_TYPES] |
| 39 | ordered = [*system, *rest] |
| 40 | if ordered == list(request.messages): |
| 41 | return request |
| 42 | return request.override(messages=ordered) |
| 43 | |
| 44 | |
| 45 | class ConsecutiveSystemMessagesMiddleware(AgentMiddleware): |
no test coverage detected