openclaw/extensions/zalo
Peter Steinberger f6131a4fbf
build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks (#114006)
* build(deps): remove npm shrinkwrap; mirror pnpm lock into transient package locks

npm 12 removed shrinkwrap (command + tarball/root loading). Delete all 82
committed npm-shrinkwrap.json files and stop publishing lockfiles; keep
pnpm-lock.yaml as the single reviewed dependency boundary. The generator
becomes scripts/generate-npm-package-lock.mjs and feeds plugin bundling via
a transient package-lock.json + npm ci (works on npm 11 and 12). Tarball
validation treats the published 2026.7.2 beta train as a shrinkwrap
transition; self-update npm detection now uses install topology instead of
the shipped shrinkwrap.

* fix(deps): repair lint, deadcode, and test-type lanes for the npm 12 migration

- sort integrity comparisons with an explicit comparator (oxlint)
- keep resolveBunGlobalNodeModules module-local (knip unused-export gate)
- model npm pack --json as npm<=11 array / npm 12 name-keyed object
- default calver destructuring in the tarball test fixture
2026-07-26 01:29:55 -04:00
..
src test: table-drive followup scenarios, centralize sanitizer wiring, remove obsolete negatives (#113583) 2026-07-25 02:14:44 -07:00
api.ts
channel-plugin-api.ts
contract-api.ts
index.test.ts
index.ts
openclaw.plugin.json refactor: remove expired plugin compatibility surfaces (#111451) 2026-07-19 11:04:48 -07:00
package.json feat(channels): add channel-owned setup contracts (#112176) 2026-07-22 19:57:42 -04:00
README.md
runtime-api.test.ts
runtime-api.ts refactor(channels): centralize inbound orchestration and remove internal compat (#109716) 2026-07-17 00:56:46 -07:00
secret-contract-api.ts
setup-api.ts
setup-entry.ts
test-api.ts
tsconfig.json

@openclaw/zalo

Zalo channel plugin for OpenClaw (Bot API).

Install (local checkout)

openclaw plugins install ./path/to/local/zalo-plugin

Install (npm)

openclaw plugins install @openclaw/zalo

Onboarding: select Zalo and confirm the install prompt to fetch the plugin automatically.

Config

{
  channels: {
    zalo: {
      enabled: true,
      botToken: "12345689:abc-xyz",
      dmPolicy: "pairing",
      proxy: "http://proxy.local:8080",
    },
  },
}

Webhook mode

{
  channels: {
    zalo: {
      webhookUrl: "https://example.com/zalo-webhook",
      webhookSecret: "your-secret-8-plus-chars",
      webhookPath: "/zalo-webhook",
    },
  },
}

If webhookPath is omitted, the plugin uses the webhook URL path.

Restart the gateway after config changes.