Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions integrations/openclaw/marmot/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ local Unix socket. It never opens a QUIC connection, encrypts a record, or talks
to a relay — all of that stays in `wn-agent`. It is the OpenClaw counterpart of
the Python Hermes plugin in [`../../hermes/marmot/`](../../hermes/marmot).

- Pinned OpenClaw SDK: **`openclaw@2026.6.8`** (`openclaw/plugin-sdk/*`).
- Pinned OpenClaw SDK: **`openclaw@2026.6.11`** (`openclaw/plugin-sdk/*`).
- Toolchain: TypeScript, pnpm, Node ≥ 22.19, Vitest.

## Install (release)
Expand All @@ -21,7 +21,7 @@ GitHub pre-releases. OpenClaw must already be installed with `openclaw` on `PATH

Prerequisites:

- OpenClaw **2026.6.8** or compatible (this plugin pins `openclaw@2026.6.8`)
- OpenClaw **2026.6.11** or compatible (this plugin pins `openclaw@2026.6.11`)
- Node ≥ 22.19
- Linux x86_64, Linux arm64, macOS Apple Silicon, or macOS Intel

Expand Down
26 changes: 26 additions & 0 deletions integrations/openclaw/marmot/test/readme-version.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { readFileSync } from "node:fs";
import { describe, expect, it } from "vitest";

const pkg = JSON.parse(
readFileSync(new URL("../package.json", import.meta.url), "utf8"),
) as {
devDependencies?: { openclaw?: string };
};
const pinnedOpenClaw = pkg.devDependencies?.openclaw;
if (!pinnedOpenClaw) {
throw new Error("package.json must pin openclaw in devDependencies");
}

const readme = readFileSync(new URL("../README.md", import.meta.url), "utf8");
const pinnedLabel = `openclaw@${pinnedOpenClaw}`;

describe("README OpenClaw SDK pin", () => {
it("documents the pinned SDK version from package.json", () => {
expect(readme).toContain(`Pinned OpenClaw SDK: **\`${pinnedLabel}\`**`);
});

it("documents the OpenClaw prerequisite version from package.json", () => {
expect(readme).toContain(`OpenClaw **${pinnedOpenClaw}** or compatible`);
expect(readme).toContain(`this plugin pins \`${pinnedLabel}\``);
});
});