fix: pnpm-lock sync, per-group build-script allowlist, ppnpm typos

- Regenerate pnpm-lock.yaml to match v2 package.json (Baileys 6.17.16,
  @chat-adapter/linear 4.26.0)
- src/container-runner.ts: when install_packages rebuilds a per-group
  image, append each installed package to /root/.npmrc's
  only-built-dependencies before pnpm install -g, so packages with
  postinstall scripts (playwright, puppeteer, native addons) don't
  install silently broken
- Fix stray 'ppnpm uninstall' in 13 skill files (REMOVE.md + SKILL.md)
  left over from the npm→pnpm sed pass

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
gavrielc
2026-04-17 09:25:59 +03:00
parent 44e2361293
commit 504e5296c9
15 changed files with 21 additions and 16 deletions

View File

@@ -2,5 +2,5 @@
1. Comment out `import './gchat.js'` in `src/channels/index.ts`
2. Remove `GCHAT_CREDENTIALS` from `.env`
3. `ppnpm uninstall @chat-adapter/gchat`
3. `pnpm uninstall @chat-adapter/gchat`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './github.js'` in `src/channels/index.ts`
2. Remove `GITHUB_TOKEN` and `GITHUB_WEBHOOK_SECRET` from `.env`
3. `ppnpm uninstall @chat-adapter/github`
3. `pnpm uninstall @chat-adapter/github`
4. Rebuild and restart

View File

@@ -230,7 +230,7 @@ pnpm dlx @gongrzhe/server-gmail-autoauth-mcp
2. Remove `import './gmail.js'` from `src/channels/index.ts`
3. Remove `~/.gmail-mcp` mount from `src/container-runner.ts`
4. Remove `gmail` MCP server and `mcp__gmail__*` from `container/agent-runner/src/index.ts`
5. Uninstall: `ppnpm uninstall googleapis`
5. Uninstall: `pnpm uninstall googleapis`
6. Rebuild and restart
7. Clear stale agent-runner copies: `rm -r data/sessions/*/agent-runner-src 2>/dev/null || true`
8. Rebuild: `cd container && ./build.sh && cd .. && pnpm run build && launchctl kickstart -k gui/$(id -u)/com.nanoclaw` (macOS) or `systemctl --user restart nanoclaw` (Linux)

View File

@@ -2,5 +2,5 @@
1. Comment out `import './imessage.js'` in `src/channels/index.ts`
2. Remove iMessage env vars (`IMESSAGE_ENABLED`, `IMESSAGE_LOCAL`, `IMESSAGE_SERVER_URL`, `IMESSAGE_API_KEY`) from `.env`
3. `ppnpm uninstall chat-adapter-imessage`
3. `pnpm uninstall chat-adapter-imessage`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './linear.js'` in `src/channels/index.ts`
2. Remove `LINEAR_API_KEY` and `LINEAR_WEBHOOK_SECRET` from `.env`
3. `ppnpm uninstall @chat-adapter/linear`
3. `pnpm uninstall @chat-adapter/linear`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './matrix.js'` in `src/channels/index.ts`
2. Remove `MATRIX_BASE_URL`, `MATRIX_ACCESS_TOKEN`, `MATRIX_USER_ID`, `MATRIX_BOT_USERNAME` from `.env`
3. `ppnpm uninstall @beeper/chat-adapter-matrix`
3. `pnpm uninstall @beeper/chat-adapter-matrix`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './resend.js'` in `src/channels/index.ts`
2. Remove `RESEND_API_KEY`, `RESEND_FROM_ADDRESS`, `RESEND_FROM_NAME`, `RESEND_WEBHOOK_SECRET` from `.env`
3. `ppnpm uninstall @resend/chat-sdk-adapter`
3. `pnpm uninstall @resend/chat-sdk-adapter`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './slack.js'` in `src/channels/index.ts`
2. Remove `SLACK_BOT_TOKEN` and `SLACK_SIGNING_SECRET` from `.env`
3. `ppnpm uninstall @chat-adapter/slack`
3. `pnpm uninstall @chat-adapter/slack`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './teams.js'` in `src/channels/index.ts`
2. Remove `TEAMS_APP_ID` and `TEAMS_APP_PASSWORD` from `.env`
3. `ppnpm uninstall @chat-adapter/teams`
3. `pnpm uninstall @chat-adapter/teams`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './telegram.js'` in `src/channels/index.ts`
2. Remove `TELEGRAM_BOT_TOKEN` from `.env`
3. `ppnpm uninstall @chat-adapter/telegram`
3. `pnpm uninstall @chat-adapter/telegram`
4. Rebuild and restart

View File

@@ -210,5 +210,5 @@ To remove Telegram integration:
2. Remove `import './telegram.js'` from `src/channels/index.ts`
3. Remove `TELEGRAM_BOT_TOKEN` from `.env`
4. Remove Telegram registrations from SQLite: `sqlite3 store/messages.db "DELETE FROM registered_groups WHERE jid LIKE 'tg:%'"`
5. Uninstall: `ppnpm uninstall grammy`
5. Uninstall: `pnpm uninstall grammy`
6. Rebuild: `pnpm run build && launchctl kickstart -k gui/$(id -u)/com.nanoclaw` (macOS) or `pnpm run build && systemctl --user restart nanoclaw` (Linux)

View File

@@ -2,5 +2,5 @@
1. Comment out `import './webex.js'` in `src/channels/index.ts`
2. Remove `WEBEX_BOT_TOKEN` and `WEBEX_WEBHOOK_SECRET` from `.env`
3. `ppnpm uninstall @bitbasti/chat-adapter-webex`
3. `pnpm uninstall @bitbasti/chat-adapter-webex`
4. Rebuild and restart

View File

@@ -2,5 +2,5 @@
1. Comment out `import './whatsapp-cloud.js'` in `src/channels/index.ts`
2. Remove `WHATSAPP_ACCESS_TOKEN`, `WHATSAPP_PHONE_NUMBER_ID`, `WHATSAPP_APP_SECRET`, `WHATSAPP_VERIFY_TOKEN` from `.env`
3. `ppnpm uninstall @chat-adapter/whatsapp`
3. `pnpm uninstall @chat-adapter/whatsapp`
4. Rebuild and restart

4
pnpm-lock.yaml generated
View File

@@ -24,7 +24,7 @@ importers:
specifier: ^4.24.0
version: 4.26.0
'@chat-adapter/linear':
specifier: ^4.24.0
specifier: ^4.26.0
version: 4.26.0(graphql@16.13.2)
'@chat-adapter/slack':
specifier: ^4.24.0
@@ -51,7 +51,7 @@ importers:
specifier: ^1.5.6
version: 1.5.6
'@whiskeysockets/baileys':
specifier: ^6.7.21
specifier: ^6.17.16
version: 6.17.16(eslint@9.39.4)(typescript@5.9.3)
better-sqlite3:
specifier: 11.10.0

View File

@@ -322,7 +322,12 @@ export async function buildAgentGroupImage(agentGroupId: string): Promise<void>
dockerfile += `RUN apt-get update && apt-get install -y ${aptPackages.join(' ')} && rm -rf /var/lib/apt/lists/*\n`;
}
if (npmPackages.length > 0) {
dockerfile += `RUN pnpm install -g ${npmPackages.join(' ')}\n`;
// pnpm skips build scripts unless packages are allowlisted. Append each
// to /root/.npmrc (base image sets it up for agent-browser) so packages
// with postinstall — e.g. playwright, puppeteer, native addons — don't
// install silently broken.
const allowlist = npmPackages.map((p) => `echo 'only-built-dependencies[]=${p}' >> /root/.npmrc`).join(' && ');
dockerfile += `RUN ${allowlist} && pnpm install -g ${npmPackages.join(' ')}\n`;
}
dockerfile += 'USER node\n';