grok-build-upstream-mirror/crates/codegen/xai-grok-hooks/examples/hooks/bin/tool-logger.sh
grokkybara[bot] c68e39f604 Publish harness and TUI open-source
initial sync from the monorepo
2026-07-16 06:46:02 +01:00

18 lines
858 B
Shell
Executable file

#!/bin/sh
# tool-logger.sh — log tool calls to a local activity file
#
# Reads the hook envelope from stdin and appends a one-line JSON entry
# to ~/.grok/tool-activity.log with event name, tool name, and timestamp.
# `toolName` is the resolved tool (e.g. `linear__save_issue` for MCP calls).
INPUT=$(cat)
EVENT=$(echo "$INPUT" | grep -o '"hookEventName":"[^"]*"' | sed 's/"hookEventName":"//;s/"$//')
TOOL=$(echo "$INPUT" | grep -o '"toolName":"[^"]*"' | head -1 | sed 's/"toolName":"//;s/"$//')
BACKGROUNDED=$(echo "$INPUT" | grep -o '"isBackgrounded":[a-z]*' | sed 's/"isBackgrounded"://')
TIMESTAMP=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
LOG_FILE="${HOME}/.grok/tool-activity.log"
mkdir -p "$(dirname "$LOG_FILE")"
echo "{\"timestamp\":\"${TIMESTAMP}\",\"event\":\"${EVENT}\",\"tool\":\"${TOOL}\",\"backgrounded\":${BACKGROUNDED:-false}}" >> "$LOG_FILE"