from typing import Optional | |
from pydantic import PrivateAttr | |
class CacheHandler: | |
"""Callback handler for tool usage.""" | |
_cache: PrivateAttr = {} | |
def __init__(self): | |
self._cache = {} | |
def add(self, tool, input, output): | |
input = input.strip() | |
self._cache[f"{tool}-{input}"] = output | |
def read(self, tool, input) -> Optional[str]: | |
input = input.strip() | |
return self._cache.get(f"{tool}-{input}") | |