fix(ci): expose package deps to Telegram QA harness (#72680)

* fix(ci): expose package deps to telegram QA harness

* fix(ci): link QA package runtime deps

* fix(agents): guard replay metadata in empty retries

* fix(ci): keep plugin update smoke migration-stable
This commit is contained in:
Vincent Koc
2026-04-27 00:33:29 -07:00
committed by GitHub
parent d23ee2f702
commit 75c52b6c41
10 changed files with 145 additions and 47 deletions

View File

@@ -279,6 +279,27 @@ for deps_dir in "$openclaw_package_dir/node_modules" /npm-global/lib/node_module
done
done
link_installed_package_dependency() {
local name="$1"
local source="/npm-global/lib/node_modules/openclaw/node_modules/$name"
local target="/app/node_modules/$name"
if [ ! -e "$source" ]; then
echo "Installed package dependency is missing: $name" >&2
return 1
fi
mkdir -p "$(dirname "$target")"
ln -sfn "$source" "$target"
}
# QA Lab is intentionally mounted as harness source, so its package-local
# runtime imports must resolve from the installed package dependency tree.
for dependency in \
@modelcontextprotocol/sdk \
yaml \
zod; do
link_installed_package_dependency "$dependency"
done
echo "Running installed-package onboarding recovery hot path..."
OPENAI_API_KEY="${OPENAI_API_KEY:-sk-openclaw-npm-telegram-hotpath}" openclaw onboard --non-interactive --accept-risk \
--mode local \

View File

@@ -43,20 +43,7 @@ JSON
if [ \"\$OPENCLAW_PACKAGE_ACCEPTANCE_LEGACY_COMPAT\" = \"1\" ]; then
cat > \"\$HOME/.openclaw/openclaw.json\" <<'JSON'
{
\"plugins\": {
\"installs\": {
\"lossless-claw\": {
\"source\": \"npm\",
\"spec\": \"@example/lossless-claw@0.9.0\",
\"installPath\": \"~/.openclaw/extensions/lossless-claw\",
\"resolvedName\": \"@example/lossless-claw\",
\"resolvedVersion\": \"0.9.0\",
\"resolvedSpec\": \"@example/lossless-claw@0.9.0\",
\"integrity\": \"sha512-same\",
\"shasum\": \"same\"
}
}
}
\"plugins\": {}
}
JSON
else