- 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
23 lines
826 B
Bash
Executable File
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'
|