Derive a session ID for cache keys and composition (not routing).
(request: Request, body: dict)
| 940 | |
| 941 | |
| 942 | def _resolve_session_id(request: Request, body: dict) -> str | None: |
| 943 | """Derive a session ID for cache keys and composition (not routing).""" |
| 944 | raw_headers = {k: v for k, v in request.headers.items()} |
| 945 | sid = raw_headers.get("x-session-id") or raw_headers.get(_OPENCLAW_SESSION_HEADER) |
| 946 | if sid: |
| 947 | return sid |
| 948 | messages = body.get("messages", []) |
| 949 | return derive_session_id(messages) |
| 950 | |
| 951 | |
| 952 | # Process-wide registry for derive_session_id_v2 (shadow mode). |
no test coverage detected