#!/usr/bin/env python3 import json import sys with open('/root/.hermes/profiles/spark/models_dev_cache.json') as f: cache = json.load(f) target = "poolside/laguna-xs-2.1:free" def find_model(data, target, path="", max_depth=10): if max_depth < 0: return {"found": False, "path": path, "reason": "max depth"} if isinstance(data, dict): if target in data: return {"found": True, "path": path or "root", "value": data[target]} # Check for nested provider:pool naming for k, v in data.items(): if isinstance(v, (dict, list)): result = find_model(v, target, f"{path}.{k}" if path else k, max_depth-1) if result.get('found'): return result # Check if key contains target if isinstance(k, str) and target in k: return {"found": True, "path": path or "root", "key_match": k} elif isinstance(data, list): for i, item in enumerate(data): if isinstance(item, (dict, list)): result = find_model(item, target, f"{path}[{i}]", max_depth-1) if result.get('found'): return result return {"found": False, "path": path} result = find_model(cache, target) print(json.dumps(result, indent=2))