31 lines
1.0 KiB
Python
31 lines
1.0 KiB
Python
#!/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()
|