mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Three coordinated things:
1. Resolve the committed upstream/main merge conflicts. 94 files were
sitting with raw <<<<<<< HEAD ... >>>>>>> upstream/main blocks. Every
conflict had HanzoBot/Bot on HEAD and OpenClaw on upstream. Resolved
by keeping HEAD everywhere — 540 conflict blocks.
2. Rewrite remaining OpenClaw text refs.
OPENCLAW → HANZO_BOT
OpenClaw → HanzoBot (PascalCase type identifiers)
openclaw → bot (codebase convention — botToken,
botUsername etc.; avoids invalid
hyphenated JS identifiers)
openclaw[_]/openclaw[A-Z] → bot[_]/bot[A-Z] (compound)
ai.openclaw.x → ai.hanzo.bot.x (JVM package path)
3. Delete or rename openclaw-named file paths (116 of them). Dead
duplicates with a Bot-named canonical from the partial migration:
deleted. Otherwise renamed.
ai/openclaw/** → deleted (ai/hanzo/bot/** canonical)
Sources/OpenClaw*/ → deleted (Sources/Bot* canonical)
Tests/OpenClawIPCTests/ → deleted (Tests/BotIPCTests canonical)
OpenClawKit/ → deleted (BotKit canonical)
openclaw-tools.*.ts → deleted (bot-tools.*.ts canonical)
openclaw-root.ts etc. → deleted (bot-root.ts canonical)
types.openclaw.ts → deleted (types.bot.ts canonical)
extensions/*/openclaw.plugin.json → renamed hanzo-bot.plugin.json
docs/start/openclaw.md → renamed hanzo-bot.md (+ zh-CN)
docs/assets/openclaw-*.png, whatsapp-openclaw*.jpg → deleted
scripts/.../openclaw-* → deleted (bot/hanzo-bot parallels)
openclaw.mjs → deleted (hanzo-bot.mjs is package.bin)
Then patched 65 broken JS/TS import strings where hanzo-bot had ended
up inside an import path ('./types.hanzo-bot.js' → './types.bot.js'
etc., since the on-disk filename uses the brand-neutral bot- prefix).
Pre-existing lint debt cleaned up to get oxlint --type-aware to 0/0:
removed the dead i18n test that referenced a path no longer existing;
defined the missing DIDConfig and WalletConfig types in types.base.ts
(they were imported but never declared); dropped unused imports;
collapsed redundant type assertion and a tautological meta.bot lookup
that the openclaw→bot rename made redundant.
The a2ui.bundle.js generated artifact is kept at its pre-rebrand
contents — it gets regenerated by 'pnpm canvas:a2ui:bundle' from
sources I cannot rebuild in this commit; the source side is clean.
Verified: 0 occurrences of openclaw (case-insensitive) in tree source
content, 0 file or directory paths with openclaw in the name; oxlint
--type-aware src test reports 0/0.
82 lines
2.8 KiB
Bash
82 lines
2.8 KiB
Bash
#!/data/data/com.termux/files/usr/bin/bash
|
|
# HanzoBot Auth Widget for Termux
|
|
# Place in ~/.shortcuts/ for Termux:Widget
|
|
#
|
|
# This widget checks auth status and helps with re-auth if needed.
|
|
# It's designed for quick one-tap checking from phone home screen.
|
|
|
|
# Server hostname (via Tailscale or SSH config)
|
|
SERVER="${BOT_SERVER:-${CLAWDBOT_SERVER:-l36}}"
|
|
|
|
# Check auth status
|
|
termux-toast "Checking HanzoBot auth..."
|
|
|
|
STATUS=$(ssh "$SERVER" '$HOME/hanzo-bot/scripts/claude-auth-status.sh simple' 2>&1)
|
|
EXIT_CODE=$?
|
|
|
|
case "$STATUS" in
|
|
OK)
|
|
# Get remaining time
|
|
DETAILS=$(ssh "$SERVER" '$HOME/hanzo-bot/scripts/claude-auth-status.sh json' 2>&1)
|
|
HOURS=$(echo "$DETAILS" | jq -r '.claude_code.status' | grep -oP '\d+(?=h)' || echo "?")
|
|
|
|
termux-vibrate -d 50
|
|
termux-toast "Auth OK (${HOURS}h left)"
|
|
;;
|
|
|
|
CLAUDE_EXPIRING|BOT_EXPIRING|CLAWDBOT_EXPIRING)
|
|
termux-vibrate -d 100
|
|
|
|
# Ask if user wants to re-auth now
|
|
CHOICE=$(termux-dialog radio -t "Auth Expiring Soon" -v "Re-auth now,Check later,Dismiss")
|
|
SELECTED=$(echo "$CHOICE" | jq -r '.text // "Dismiss"')
|
|
|
|
case "$SELECTED" in
|
|
"Re-auth now")
|
|
termux-toast "Opening auth page..."
|
|
termux-open-url "https://console.anthropic.com/settings/api-keys"
|
|
|
|
# Show instructions
|
|
termux-dialog confirm -t "Re-auth Instructions" -i "1. Create/copy API key from browser
|
|
2. Return here and tap OK
|
|
3. SSH to server and paste key"
|
|
|
|
# Open terminal to server
|
|
am start -n com.termux/com.termux.app.TermuxActivity -a android.intent.action.MAIN
|
|
termux-toast "Run: ssh $SERVER '$HOME/hanzo-bot/scripts/mobile-reauth.sh'"
|
|
;;
|
|
*)
|
|
termux-toast "Reminder: Auth expires soon"
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
CLAUDE_EXPIRED|BOT_EXPIRED|CLAWDBOT_EXPIRED)
|
|
termux-vibrate -d 300
|
|
|
|
CHOICE=$(termux-dialog radio -t "Auth Expired!" -v "Re-auth now,Dismiss")
|
|
SELECTED=$(echo "$CHOICE" | jq -r '.text // "Dismiss"')
|
|
|
|
case "$SELECTED" in
|
|
"Re-auth now")
|
|
termux-toast "Opening auth page..."
|
|
termux-open-url "https://console.anthropic.com/settings/api-keys"
|
|
|
|
termux-dialog confirm -t "Re-auth Steps" -i "1. Create/copy API key from browser
|
|
2. Return here and tap OK to SSH"
|
|
|
|
am start -n com.termux/com.termux.app.TermuxActivity -a android.intent.action.MAIN
|
|
termux-toast "Run: ssh $SERVER '$HOME/hanzo-bot/scripts/mobile-reauth.sh'"
|
|
;;
|
|
*)
|
|
termux-toast "Warning: HanzoBot won't work until re-auth"
|
|
;;
|
|
esac
|
|
;;
|
|
|
|
*)
|
|
termux-vibrate -d 200
|
|
termux-toast "Error: $STATUS"
|
|
;;
|
|
esac
|