Skip to content

feat(openclaw): migrate plugin to openclaw 2026.5 contracts - #162

Merged
thisnick merged 1 commit into
mainfrom
nick/openclaw-2026.5-compat
May 17, 2026
Merged

feat(openclaw): migrate plugin to openclaw 2026.5 contracts#162
thisnick merged 1 commit into
mainfrom
nick/openclaw-2026.5-compat

Conversation

@thisnick

Copy link
Copy Markdown
Owner

Summary

  • Fixes gateway warning channel plugin manifest declares wechat without channelConfigs metadata by adding channelConfigs to openclaw.plugin.json.
  • Replaces deprecated runtime.config.loadConfig() with runtime.config.current().
  • Adds a message adapter via createChannelMessageAdapterFromOutbound from openclaw/plugin-sdk/channel-message; keeps the legacy outbound adapter for older openclaw versions.
  • Bumps openclaw devDep floor to ^2026.5.12.
  • Updates one access-control test scenario to match openclaw 2026.5's intentional new semantics (pairing-store allowFrom is consulted only for non-open/allowlist DM policies).

Why

OpenClaw 2026.5.12 introduced new contracts and marked the previous helpers (loadConfig, dispatchReplyWithBufferedBlockDispatcher + recordInboundSession, resolveSenderCommandAuthorization) as deprecated. The compat shims still execute but their semantics have shifted in subtle ways (e.g., the store-backed allowlist is no longer consulted for command auth under dmPolicy: "open"). The missing manifest channelConfigs was preventing the gateway from validating config / loading setup surfaces before the runtime imports, which appears to be the root cause of the reported "messages dispatched but not reaching the agent" symptom.

Deferred (follow-up release)

Migrating the inbound dispatch path in monitor.ts (dispatchReplyWithBufferedBlockDispatcher + recordInboundSessioncore.channel.turn.runPrepared(...)). The deprecated path still works in 5.12 via compat shims; rewriting the dispatch flow needs end-to-end gateway testing and is a larger change.

Test plan

  • pnpm typecheck in packages/openclaw-extension
  • pnpm test (14/14 passing)
  • pnpm build (227.1kb bundle)
  • openclaw plugins install ./packages/openclaw-extension && openclaw gateway restart and verify the warning is gone and DMs reach the agent

🤖 Generated with Claude Code

- Add channelConfigs metadata to openclaw.plugin.json so the gateway can
  validate config and load setup surfaces before the plugin runtime
  imports (silences "channel plugin manifest declares wechat without
  channelConfigs metadata" warning).
- Replace deprecated runtime.config.loadConfig() with config.current().
- Add a message adapter via createChannelMessageAdapterFromOutbound from
  openclaw/plugin-sdk/channel-message; keep the legacy outbound adapter
  for older openclaw versions.
- Update access-control test scenario to match openclaw 2026.5's
  intentional new semantics (pairing-store allowFrom is consulted only
  for non-"open"/"allowlist" DM policies).
- Bump openclaw devDep floor to ^2026.5.12.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@thisnick
thisnick merged commit ee25d8f into main May 17, 2026
4 checks passed
@thisnick
thisnick deleted the nick/openclaw-2026.5-compat branch May 17, 2026 21:21
@github-actions github-actions Bot mentioned this pull request May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant