refactor(caching): extract nested Responses input lookup to keep walker under complexity limit

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
kerry 2026-10-07 16:34:03 +00:00
parent f6e9be9e81
commit 0665296bf1

View file

@ -291,14 +291,9 @@ class RedisSemanticCache(BaseCache):
return
if isinstance(value, dict):
content = value.get("content")
if content is not None:
cls._collect_responses_input_text(content, prompt_parts)
return
output = value.get("output")
if isinstance(output, list):
cls._collect_responses_input_text(output, prompt_parts)
nested: Final = cls._nested_response_input(value)
if nested is not None:
cls._collect_responses_input_text(nested, prompt_parts)
return
for text_key in ("text", "output", "input_text", "output_text"):
@ -323,6 +318,14 @@ class RedisSemanticCache(BaseCache):
prompt_parts.append(stripped_text)
return
@staticmethod
def _nested_response_input(value: dict[str, object]) -> object:
content: Final = value.get("content")
if content is not None:
return content
output: Final = value.get("output")
return output if isinstance(output, list) else None
@staticmethod
def _coerce_response_input_value(value: object) -> object:
model_dump: Final = getattr(value, "model_dump", None)