























@@ -649,9 +649,9 @@ NODE
649649if [ "${OPENCLAW_PLUGINS_E2E_CLAWHUB:-1}" = "0" ]; then
650650 echo "Skipping ClawHub plugin install and uninstall (OPENCLAW_PLUGINS_E2E_CLAWHUB=0)."
651651else
652-echo "Testing ClawHub plugin install and uninstall..."
653-CLAWHUB_PLUGIN_SPEC="${OPENCLAW_PLUGINS_E2E_CLAWHUB_SPEC:-clawhub:openclaw-now4real}"
654-CLAWHUB_PLUGIN_ID="${OPENCLAW_PLUGINS_E2E_CLAWHUB_ID:-now4real}"
652+echo "Testing ClawHub kitchen-sink plugin install and uninstall..."
653+CLAWHUB_PLUGIN_SPEC="${OPENCLAW_PLUGINS_E2E_CLAWHUB_SPEC:-clawhub:openclaw-kitchen-sink}"
654+CLAWHUB_PLUGIN_ID="${OPENCLAW_PLUGINS_E2E_CLAWHUB_ID:-openclaw-kitchen-sink-fixture}"
655655export CLAWHUB_PLUGIN_SPEC CLAWHUB_PLUGIN_ID
656656657657start_clawhub_fixture_server() {
@@ -669,9 +669,9 @@ const { createRequire } = require("node:module");
669669const portFile = process.argv[2];
670670const requireFromApp = createRequire(path.join(process.cwd(), "package.json"));
671671const JSZip = requireFromApp("jszip");
672-const packageName = "openclaw-now4real";
673-const pluginId = "now4real";
674-const version = "0.1.2";
672+const packageName = "openclaw-kitchen-sink";
673+const pluginId = "openclaw-kitchen-sink-fixture";
674+const version = "0.1.0";
675675676676async function main() {
677677 const zip = new JSZip();
@@ -692,9 +692,18 @@ async function main() {
692692 "package/index.js",
693693 `module.exports = {
694694 id: "${pluginId}",
695- name: "Now 4 Real",
695+ name: "OpenClaw Kitchen Sink",
696+ description: "Docker E2E kitchen-sink plugin fixture",
696697 register(api) {
697- api.registerGatewayMethod("now4real.ping", async () => ({ ok: true }));
698+ api.on("before_agent_start", async (event, context) => ({
699+ kitchenSink: true,
700+ observedEventKeys: Object.keys(event || {}),
701+ observedContextKeys: Object.keys(context || {}),
702+ }));
703+ api.registerTool(() => null, { name: "kitchen_sink_tool" });
704+ api.registerGatewayMethod("kitchen-sink.ping", async () => ({ ok: true }));
705+ api.registerCli(() => {}, { commands: ["kitchen-sink"] });
706+ api.registerService({ id: "kitchen-sink-service", start: () => {} });
698707 },
699708};
700709`,
@@ -735,7 +744,7 @@ async function main() {
735744 json(response, {
736745 package: {
737746 name: packageName,
738- displayName: "Now 4 Real",
747+ displayName: "OpenClaw Kitchen Sink",
739748 family: "code-plugin",
740749 channel: "official",
741750 isOfficial: true,
@@ -744,8 +753,8 @@ async function main() {
744753 createdAt: 0,
745754 updatedAt: 0,
746755 compatibility: {
747- pluginApiRange: ">=2026.4.11",
748- minGatewayVersion: "2026.4.11",
756+ pluginApiRange: ">=2026.4.26",
757+ minGatewayVersion: "2026.4.26",
749758 },
750759 },
751760 });
@@ -758,11 +767,11 @@ async function main() {
758767 version: {
759768 version,
760769 createdAt: 0,
761- changelog: "Fixture package for Docker plugin E2E.",
770+ changelog: "Kitchen-sink fixture package for Docker plugin E2E.",
762771 sha256hash,
763772 compatibility: {
764- pluginApiRange: ">=2026.4.11",
765- minGatewayVersion: "2026.4.11",
773+ pluginApiRange: ">=2026.4.26",
774+ minGatewayVersion: "2026.4.26",
766775 },
767776 },
768777 });
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。