mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
fix: migrate hooks to stdin JSON input, fix duplicate main() calls, add threshold validation
- Migrate session-end.js and evaluate-session.js from CLAUDE_TRANSCRIPT_PATH env var to stdin JSON transcript_path (correct hook input mechanism) - Remove duplicate main() calls that ran before stdin was read, causing session files to be created with empty data - Add range validation (1-10000) on COMPACT_THRESHOLD in suggest-compact.js to prevent negative or absurdly large thresholds - Add integration/hooks.test.js to tests/run-all.js so CI runs all 97 tests - Update evaluate-session.sh to parse transcript_path from stdin JSON - Update hooks.test.js to pass transcript_path via stdin instead of env var - Sync .cursor/ copies
This commit is contained in:
@@ -43,8 +43,13 @@ fi
|
||||
# Ensure learned skills directory exists
|
||||
mkdir -p "$LEARNED_SKILLS_PATH"
|
||||
|
||||
# Get transcript path from environment (set by Claude Code)
|
||||
transcript_path="${CLAUDE_TRANSCRIPT_PATH:-}"
|
||||
# Get transcript path from stdin JSON (Claude Code hook input)
|
||||
# Falls back to env var for backwards compatibility
|
||||
stdin_data=$(cat)
|
||||
transcript_path=$(echo "$stdin_data" | grep -o '"transcript_path":"[^"]*"' | head -1 | cut -d'"' -f4)
|
||||
if [ -z "$transcript_path" ]; then
|
||||
transcript_path="${CLAUDE_TRANSCRIPT_PATH:-}"
|
||||
fi
|
||||
|
||||
if [ -z "$transcript_path" ] || [ ! -f "$transcript_path" ]; then
|
||||
exit 0
|
||||
|
||||
@@ -28,7 +28,9 @@ async function main() {
|
||||
const sessionId = process.env.CLAUDE_SESSION_ID || String(process.ppid) || 'default';
|
||||
const counterFile = path.join(getTempDir(), `claude-tool-count-${sessionId}`);
|
||||
const rawThreshold = parseInt(process.env.COMPACT_THRESHOLD || '50', 10);
|
||||
const threshold = Number.isFinite(rawThreshold) ? rawThreshold : 50;
|
||||
const threshold = Number.isFinite(rawThreshold) && rawThreshold > 0 && rawThreshold <= 10000
|
||||
? rawThreshold
|
||||
: 50;
|
||||
|
||||
let count = 1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user