litellm/scripts/trace_codegen/schemas/traces/ReadFailure.json
Yujong Lee 97ded17960 feat(tracing): shared signed pagination for trace list and detail reads
Add the litellm-pagination crate (Page envelope, signed expiring cursors bound to resource, scope, query and revision, stable failure codes) and move the trace list, trace detail and span error reads onto it. The list pins a publication fence through a new ReceivedMs rollup column so continuation pages exclude later-received rows. The Python bridge raises TraceReadError(code, message), the proxy maps codes to 400/409/410/413/503 with Retry-After, cursor keys come from tracing.store.cursor_keys with LITELLM_SALT_KEY and LITELLM_MASTER_KEY fallbacks, and Lens consumes the items envelope and shows Refresh instead of Retry when a traversal is gone.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-03 22:56:14 +00:00

35 lines
823 B
JSON

{
"$defs": {
"FailureCode": {
"description": "Stable, machine readable failure codes shared by every paginated read and every adapter.",
"enum": [
"invalid_request",
"invalid_cursor",
"traversal_expired",
"traversal_changed",
"resource_too_large",
"budget_exceeded",
"view_not_ready",
"unavailable",
"busy"
],
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "A public read failure: the stable code plus a message safe to show to the caller.",
"properties": {
"code": {
"$ref": "#/$defs/FailureCode"
},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
],
"title": "ReadFailure",
"type": "object"
}