mirror of
https://github.com/qwibitai/nanoclaw.git
synced 2026-06-30 18:40:32 +08:00
cf5ac09320
Companion to the core `chat` 4.29.0 bump on main. Bumps every channel adapter install pin (8 /add-* SKILL.md + the setup/*.sh install scripts) and the package.json deps to the matched 4.29.0 release, so `/add-<channel>` installs an adapter whose ChatInstance matches main's Chat SDK bridge. `chat` and @chat-adapter/* are version-locked, so all are pinned exactly to 4.29.0. The Slack adapter is proven on current main at chat@4.29.0 (build + registration test green). Pre-existing standalone build/test failures on this branch (optional native-adapter packages not installed, branch behind main) are unchanged by this bump — identical failure set at the 4.26.0 baseline. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
73 lines
2.2 KiB
Bash
Executable File
73 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Setup helper: install-telegram — bundles the preflight + install commands
|
|
# from the /add-telegram skill into one idempotent script so /setup can
|
|
# run them programmatically before continuing to credentials and pairing.
|
|
#
|
|
# Copies the Telegram adapter, helpers, tests, and the pair-telegram setup
|
|
# step in from the `channels` branch; appends the self-registration import;
|
|
# registers the `pair-telegram` entry in the setup STEPS map; installs the
|
|
# pinned @chat-adapter/telegram package; builds. All steps are safe to re-run.
|
|
set -euo pipefail
|
|
|
|
PROJECT_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
|
|
echo "=== NANOCLAW SETUP: INSTALL_TELEGRAM ==="
|
|
|
|
CHANNEL_FILES=(
|
|
src/channels/telegram.ts
|
|
src/channels/telegram-pairing.ts
|
|
src/channels/telegram-pairing.test.ts
|
|
src/channels/telegram-markdown-sanitize.ts
|
|
src/channels/telegram-markdown-sanitize.test.ts
|
|
setup/pair-telegram.ts
|
|
)
|
|
|
|
needs_install=false
|
|
for f in "${CHANNEL_FILES[@]}"; do
|
|
[[ -f "$f" ]] || needs_install=true
|
|
done
|
|
grep -q "import './telegram.js';" src/channels/index.ts || needs_install=true
|
|
grep -q "'pair-telegram':" setup/index.ts || needs_install=true
|
|
grep -q '"@chat-adapter/telegram"' package.json || needs_install=true
|
|
[[ -d node_modules/@chat-adapter/telegram ]] || needs_install=true
|
|
|
|
if ! $needs_install; then
|
|
echo "STATUS: already-installed"
|
|
echo "=== END ==="
|
|
exit 0
|
|
fi
|
|
|
|
echo "STEP: fetch-channels-branch"
|
|
git fetch origin channels
|
|
|
|
echo "STEP: copy-files"
|
|
for f in "${CHANNEL_FILES[@]}"; do
|
|
git show "origin/channels:$f" > "$f"
|
|
done
|
|
|
|
echo "STEP: register-import"
|
|
if ! grep -q "import './telegram.js';" src/channels/index.ts; then
|
|
printf "import './telegram.js';\n" >> src/channels/index.ts
|
|
fi
|
|
|
|
echo "STEP: register-setup-step"
|
|
if ! grep -q "'pair-telegram':" setup/index.ts; then
|
|
awk '
|
|
{ print }
|
|
/register: \(\) => import/ && !inserted {
|
|
print " '\''pair-telegram'\'': () => import('\''./pair-telegram.js'\''),"
|
|
inserted = 1
|
|
}
|
|
' setup/index.ts > setup/index.ts.tmp && mv setup/index.ts.tmp setup/index.ts
|
|
fi
|
|
|
|
echo "STEP: pnpm-install"
|
|
pnpm install @chat-adapter/telegram@4.29.0
|
|
|
|
echo "STEP: pnpm-build"
|
|
pnpm run build
|
|
|
|
echo "STATUS: installed"
|
|
echo "=== END ==="
|