Files
bw-copilot-resources/resources/scripts/report-hook-event.sh
T
fragginwagon addbf37fc5 Add SessionStop hook and session-events.tsv duration tracking
- session-audit.json: add SessionStop entry pointing to new end-of-session scripts
- report-hook-event-end.sh/.ps1: log payload to hook-events.log and write TSV row to session-events.tsv
- report-hook-event.sh/.ps1: also write SessionStart TSV row to session-events.tsv so start/end pairs are queryable for duration
2026-06-30 17:30:20 -04:00

23 lines
826 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
state_dir="${COPILOT_RESOURCES_STATE_DIR:-$HOME/.copilot-resources-state}"
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
port_registry_script="$script_dir/update-port-registry.mjs"
mkdir -p -- "$state_dir"
event_payload="$(cat)"
printf '%s\n' "$event_payload" >> "$state_dir/hook-events.log"
# Append a TSV row to session-events.tsv for duration tracking.
printf '%s\tSessionStart\n' "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> "$state_dir/session-events.tsv"
if command -v node >/dev/null 2>&1 && [[ -f "$port_registry_script" ]]; then
if ! printf '%s' "$event_payload" | node "$port_registry_script"; then
printf '%s update-port-registry failed\n' "$(date -u +"%Y-%m-%dT%H:%M:%SZ")" >> "$state_dir/project-ports-errors.log"
fi
fi
printf '{"continue": true}\n'