8a21a212f8
Deploy Documentation / deploy (push) Has been cancelled
Canary / build-cli (push) Has been skipped
Canary / Upload Install Script (push) Has been skipped
Canary / bundle-desktop (push) Has been skipped
Canary / bundle-desktop-intel (push) Has been skipped
Canary / bundle-desktop-linux (push) Has been skipped
Canary / bundle-desktop-windows (push) Has been skipped
Canary / bundle-desktop-windows-cuda (push) Has been skipped
Canary / Release (push) Has been skipped
Cargo Deny / deny (push) Has been skipped
Unused Dependencies / machete (push) Has been skipped
Canary / Prepare Version (push) Failing after 1s
Live Provider Tests / check-fork (push) Failing after 0s
Create Minor Release PR / check-version-bump-pr (push) Has been skipped
Publish Ask AI Bot Docker Image / docker (push) Failing after 1s
Live Provider Tests / changes (push) Has been skipped
Scorecard supply-chain security / Scorecard analysis (push) Has been skipped
Publish Docker Image / docker (push) Failing after 1s
CI / changes (push) Failing after 8s
Create Minor Release PR / release (push) Has been skipped
Live Provider Tests / Smoke Tests (push) Has been cancelled
Live Provider Tests / Smoke Tests (Code Execution) (push) Has been cancelled
Live Provider Tests / Compaction Tests (push) Has been cancelled
CI / Build Rust Project on Windows (push) Has been cancelled
Live Provider Tests / Build Binary (push) Has been cancelled
CI / Lint Rust Code (push) Has been cancelled
CI / Check Generated Schemas are Up-to-Date (push) Has been cancelled
CI / Test and Lint Electron Desktop App (push) Has been cancelled
CI / Check Rust Code Format (push) Has been cancelled
CI / Build and Test Rust Project (push) Has been cancelled
CI / Check MSRV (push) Has been cancelled
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Tiny hook handler that loudly announces every event goose fires at it.
|
|
#
|
|
# Goose pipes the event payload as JSON on stdin and sets PLUGIN_ROOT in the
|
|
# environment. We tee a copy of the payload into a log file inside the plugin
|
|
# directory so you can see the full structure later.
|
|
set -euo pipefail
|
|
|
|
label="${1:-event}"
|
|
log="${PLUGIN_ROOT:-.}/last-event.log"
|
|
payload="$(cat)"
|
|
|
|
event_name="$(printf '%s' "$payload" | sed -n 's/.*"event":"\([^"]*\)".*/\1/p')"
|
|
tool_name="$(printf '%s' "$payload" | sed -n 's/.*"tool_name":"\([^"]*\)".*/\1/p')"
|
|
|
|
emoji() {
|
|
case "$1" in
|
|
start) printf '\xf0\x9f\x9a\x80' ;; # rocket
|
|
prompt) printf '\xf0\x9f\x92\xac' ;; # speech balloon
|
|
pre-tool) printf '\xe2\x9a\xa1' ;; # zap
|
|
post-tool) printf '\xe2\x9c\x85' ;; # check
|
|
*) printf '\xf0\x9f\x94\x94' ;; # bell
|
|
esac
|
|
}
|
|
|
|
icon="$(emoji "$label")"
|
|
suffix=""
|
|
[ -n "$tool_name" ] && suffix=" tool=$tool_name"
|
|
|
|
# Both stderr (so it shows up alongside goose tracing) and a log file.
|
|
printf '%s [hello-hooks] %s%s\n' "$icon" "${event_name:-$label}" "$suffix" 1>&2
|
|
|
|
{
|
|
printf -- '---- %s @ %s ----\n' "${event_name:-$label}" "$(date -u '+%Y-%m-%dT%H:%M:%SZ')"
|
|
printf '%s\n' "$payload"
|
|
} >> "$log"
|