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.
73 lines
2.7 KiB
Bash
Executable File
73 lines
2.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
SMOKE_IMAGE="${BOT_INSTALL_SMOKE_IMAGE:-${CLAWDBOT_INSTALL_SMOKE_IMAGE:-hanzo-bot-install-smoke:local}}"
|
|
NONROOT_IMAGE="${BOT_INSTALL_NONROOT_IMAGE:-${CLAWDBOT_INSTALL_NONROOT_IMAGE:-hanzo-bot-install-nonroot:local}}"
|
|
INSTALL_URL="${BOT_INSTALL_URL:-${CLAWDBOT_INSTALL_URL:-https://hanzo-bot.bot/install.sh}}"
|
|
CLI_INSTALL_URL="${BOT_INSTALL_CLI_URL:-${CLAWDBOT_INSTALL_CLI_URL:-https://hanzo-bot.bot/install-cli.sh}}"
|
|
SKIP_NONROOT="${BOT_INSTALL_SMOKE_SKIP_NONROOT:-${CLAWDBOT_INSTALL_SMOKE_SKIP_NONROOT:-0}}"
|
|
LATEST_DIR="$(mktemp -d)"
|
|
LATEST_FILE="${LATEST_DIR}/latest"
|
|
|
|
echo "==> Build smoke image (upgrade, root): $SMOKE_IMAGE"
|
|
docker build \
|
|
-t "$SMOKE_IMAGE" \
|
|
-f "$ROOT_DIR/scripts/docker/install-sh-smoke/Dockerfile" \
|
|
"$ROOT_DIR/scripts/docker"
|
|
|
|
echo "==> Run installer smoke test (root): $INSTALL_URL"
|
|
docker run --rm -t \
|
|
-v "${LATEST_DIR}:/out" \
|
|
-e BOT_INSTALL_URL="$INSTALL_URL" \
|
|
-e BOT_INSTALL_METHOD=npm \
|
|
-e BOT_INSTALL_LATEST_OUT="/out/latest" \
|
|
-e BOT_INSTALL_SMOKE_PREVIOUS="${BOT_INSTALL_SMOKE_PREVIOUS:-${CLAWDBOT_INSTALL_SMOKE_PREVIOUS:-}}" \
|
|
-e BOT_INSTALL_SMOKE_SKIP_PREVIOUS="${BOT_INSTALL_SMOKE_SKIP_PREVIOUS:-${CLAWDBOT_INSTALL_SMOKE_SKIP_PREVIOUS:-0}}" \
|
|
-e BOT_NO_ONBOARD=1 \
|
|
-e DEBIAN_FRONTEND=noninteractive \
|
|
"$SMOKE_IMAGE"
|
|
|
|
LATEST_VERSION=""
|
|
if [[ -f "$LATEST_FILE" ]]; then
|
|
LATEST_VERSION="$(cat "$LATEST_FILE")"
|
|
fi
|
|
|
|
if [[ "$SKIP_NONROOT" == "1" ]]; then
|
|
echo "==> Skip non-root installer smoke (BOT_INSTALL_SMOKE_SKIP_NONROOT=1)"
|
|
else
|
|
echo "==> Build non-root image: $NONROOT_IMAGE"
|
|
docker build \
|
|
-t "$NONROOT_IMAGE" \
|
|
-f "$ROOT_DIR/scripts/docker/install-sh-nonroot/Dockerfile" \
|
|
"$ROOT_DIR/scripts/docker"
|
|
|
|
echo "==> Run installer non-root test: $INSTALL_URL"
|
|
docker run --rm -t \
|
|
-e BOT_INSTALL_URL="$INSTALL_URL" \
|
|
-e BOT_INSTALL_METHOD=npm \
|
|
-e BOT_INSTALL_EXPECT_VERSION="$LATEST_VERSION" \
|
|
-e BOT_NO_ONBOARD=1 \
|
|
-e DEBIAN_FRONTEND=noninteractive \
|
|
"$NONROOT_IMAGE"
|
|
fi
|
|
|
|
if [[ "${BOT_INSTALL_SMOKE_SKIP_CLI:-${CLAWDBOT_INSTALL_SMOKE_SKIP_CLI:-0}}" == "1" ]]; then
|
|
echo "==> Skip CLI installer smoke (BOT_INSTALL_SMOKE_SKIP_CLI=1)"
|
|
exit 0
|
|
fi
|
|
|
|
if [[ "$SKIP_NONROOT" == "1" ]]; then
|
|
echo "==> Skip CLI installer smoke (non-root image skipped)"
|
|
exit 0
|
|
fi
|
|
|
|
echo "==> Run CLI installer non-root test (same image)"
|
|
docker run --rm -t \
|
|
--entrypoint /bin/bash \
|
|
-e BOT_INSTALL_URL="$INSTALL_URL" \
|
|
-e BOT_INSTALL_CLI_URL="$CLI_INSTALL_URL" \
|
|
-e BOT_NO_ONBOARD=1 \
|
|
-e DEBIAN_FRONTEND=noninteractive \
|
|
"$NONROOT_IMAGE" -lc "curl -fsSL \"$CLI_INSTALL_URL\" | bash -s -- --set-npm-prefix --no-onboard"
|