Skip to content

Track OpenClaw 2026.5 plugin ecosystem compatibility updates #43

Description

@groksrc

Summary

OpenClaw's 2026.5.x plugin ecosystem moved further toward manifest-first discovery, descriptor-first tools, compiled runtime package entrypoints, and ClawHub-first distribution. openclaw-basic-memory has already started adapting with openclaw.plugin.json + contracts.tools (see #40), but we should do a broader compatibility pass before the next release.

Upstream changes to account for

Verified against the OpenClaw docs/releases on 2026-05-05:

Current repo state

From the local checkout at ~/code/openclaw-basic-memory:

  • openclaw.plugin.json already declares id: "openclaw-basic-memory", kind: "memory", contracts.tools, skill roots, UI hints, and config schema.
  • package.json still advertises openclaw.extensions: ["./index.ts"], has no build script, ships TypeScript source files, and has no openclaw.runtimeExtensions/dist runtime entry.
  • index.ts imports OpenClawPluginApi from the deprecated root openclaw/plugin-sdk path and exports a plain object rather than using definePluginEntry.
  • peerDependencies.openclaw is >=2026.5.2, but devDependencies.openclaw is still ^2026.3.8, so local type/testing coverage may miss 2026.5.x behavior.
  • Runtime config parsing accepts keys that the manifest schema does not currently validate: memory_dir, memory_file, captureMinChars, capture_min_chars, autoRecall, auto_recall, recallPrompt, and recall_prompt.

Proposed work

  • Add a compiled runtime packaging path: build TS to dist, include the runtime output in published files, and add openclaw.runtimeExtensions while keeping source entries useful for local linked development.
  • Wrap the entry with definePluginEntry from openclaw/plugin-sdk/plugin-entry.
  • Replace root openclaw/plugin-sdk imports with focused subpath imports.
  • Align openclaw.plugin.json config schema with parseConfig(...), including supported camelCase/snake_case aliases, auto-recall/capture fields, and strict nested cloud validation.
  • Re-audit contracts.tools against every api.registerTool(...) call and decide whether any side-effecting tools should be optional with matching toolMetadata.
  • Update package openclaw.compat / build metadata and align peer/dev OpenClaw versions with the minimum ecosystem version we actually support.
  • Test against latest stable OpenClaw (2026.5.4 as of 2026-05-05): openclaw plugins install, openclaw plugins enable openclaw-basic-memory --slot memory, openclaw plugins inspect openclaw-basic-memory --json, and openclaw plugins doctor.
  • Update README/DEVELOPMENT docs for current install paths, plugins.slots.memory, and any ClawHub publishing flow.

Acceptance criteria

  • A packed/published artifact installs on current OpenClaw without source-only package warnings/errors.
  • openclaw plugins inspect openclaw-basic-memory --json reports a native plugin with memory kind, clean diagnostics, and the expected 14 tools.
  • openclaw plugins doctor is clean after enabling the plugin in plugins.slots.memory.
  • Existing documented config examples validate under the manifest schema and still parse at runtime.
  • CI runs typecheck/tests against a 2026.5.x OpenClaw dependency.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions