- message-compressor.ts: code-block-aware compression for Anthropic + OpenAI messages - anthropic-proxy.ts: fix OAuth Bearer token forwarding (Claude Code subscription auth) + integrate proxy-side compression, track tokens_saved per ticket - openai-proxy.ts: integrate proxy-side compression, track tokens_saved - mcp/compression.ts: lean-ctx-style modes (full/signatures/map/aggressive/entropy) + RTK-style patterns for git/npm/cargo/docker/ls output - mcp/server.ts: 8 tools — tv_read, tv_shell, tv_search, tv_compress, tv_update, tv_ticket, tv_cost, tv_health - tv_update: auto-update lean-ctx (cargo install) + RTK (brew upgrade) - scripts/update-compression-tools.sh + LaunchAgent plist: daily auto-update at 03:00
61 lines
2.2 KiB
Bash
Executable File
61 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# TokenVault — Auto-update lean-ctx (cargo) and RTK (homebrew)
|
|
# Runs daily via LaunchAgent: ~/Library/LaunchAgents/org.tokenvault.update-compression-tools.plist
|
|
#
|
|
# Logs: ~/Library/Logs/tokenvault-update.log
|
|
|
|
set -euo pipefail
|
|
|
|
LOG="$HOME/Library/Logs/tokenvault-update.log"
|
|
DATE=$(date '+%Y-%m-%d %H:%M:%S')
|
|
|
|
log() { echo "[$DATE] $*" | tee -a "$LOG"; }
|
|
|
|
log "=== TokenVault compression tool update check ==="
|
|
|
|
# ── lean-ctx (Rust binary via cargo) ──────────────────────────────────────────
|
|
LEAN_CTX_BIN="$HOME/.cargo/bin/lean-ctx"
|
|
if [ -f "$LEAN_CTX_BIN" ]; then
|
|
BEFORE=$("$LEAN_CTX_BIN" --version 2>/dev/null || echo "unknown")
|
|
log "lean-ctx before: $BEFORE"
|
|
|
|
# cargo install always fetches latest from crates.io
|
|
if "$HOME/.cargo/bin/cargo" install lean-ctx 2>&1 | tail -5 | tee -a "$LOG"; then
|
|
AFTER=$("$LEAN_CTX_BIN" --version 2>/dev/null || echo "unknown")
|
|
log "lean-ctx after: $AFTER"
|
|
if [ "$BEFORE" != "$AFTER" ]; then
|
|
log "lean-ctx UPDATED: $BEFORE → $AFTER"
|
|
else
|
|
log "lean-ctx already at latest"
|
|
fi
|
|
else
|
|
log "lean-ctx update FAILED (cargo install returned error)"
|
|
fi
|
|
else
|
|
log "lean-ctx not found at $LEAN_CTX_BIN — skipping"
|
|
fi
|
|
|
|
# ── RTK (Homebrew) ────────────────────────────────────────────────────────────
|
|
BREW="/opt/homebrew/bin/brew"
|
|
if [ -f "$BREW" ]; then
|
|
BEFORE=$(/opt/homebrew/bin/rtk --version 2>/dev/null || rtk --version 2>/dev/null || echo "unknown")
|
|
log "rtk before: $BEFORE"
|
|
|
|
if "$BREW" upgrade rtk 2>&1 | tee -a "$LOG"; then
|
|
AFTER=$(/opt/homebrew/bin/rtk --version 2>/dev/null || rtk --version 2>/dev/null || echo "unknown")
|
|
log "rtk after: $AFTER"
|
|
if [ "$BEFORE" != "$AFTER" ]; then
|
|
log "RTK UPDATED: $BEFORE → $AFTER"
|
|
else
|
|
log "RTK already at latest"
|
|
fi
|
|
else
|
|
# brew upgrade exits non-zero if already latest — that's fine
|
|
log "RTK already at latest (brew upgrade: no update available)"
|
|
fi
|
|
else
|
|
log "Homebrew not found at $BREW — skipping RTK update"
|
|
fi
|
|
|
|
log "=== Update check complete ==="
|