#!/usr/bin/env python3 import sys import json import os import time def pre_tool_hook(): try: # Lê o input do Gemini hook_input = json.load(sys.stdin) session_id = hook_input.get("session_id", "unknown") # Cria um ficheiro temporário para guardar o tempo de início desta sessão # Nota: O Gemini CLI executa ferramentas de forma sequencial ou paralela, # mas os hooks AfterTool recebem o contexto necessário. temp_dir = os.path.expanduser("~/.gemini/tmp/telemetry") os.makedirs(temp_dir, exist_ok=True) # Guardamos o tempo de início num ficheiro nomeado pela sessão # Para maior precisão em chamadas paralelas, o ideal seria um tool_call_id, # mas o session_id é a base comum. with open(os.path.join(temp_dir, f"{session_id}.start"), "w") as f: f.write(str(time.time())) print(json.dumps({})) except Exception: print(json.dumps({})) if __name__ == "__main__": pre_tool_hook()