$ show openclaw/kitchen-sink
This repository provides a credential-free, deterministic test fixture for the OpenClaw plugin API surface, known as the 'kitchen sink' plugin. It exercises the full public plugin API by registering commands, tools, providers (image, speech, realtime transcription/voice, video, music, web search/fetch, embedding, memory, compaction), channels, hooks, gateway methods, services, and CLI backends. The plugin supports three personalities ('full', 'conformance', 'adversarial') to validate different plugin compatibility modes. It is designed as a compatibility fixture for OpenClaw's plugin-inspector and Crabpot tools, and is published to npm as @openclaw/kitchen-sink. The codebase is well-structured, with separate runtime modules per surface, comprehensive deterministic scenario routing, and a robust set of test scripts that validate runtime behavior, contract probes, and package metadata.
The LLM identified 3 files worth highlighting for reuse:
A generic test harness that captures all OpenClaw plugin registration calls (register*, on) via a Proxy. It provides capturePluginRegistration(), createHookFinder(), and registrationSummary() utilities. This pattern is highly reusable for any OpenClaw plugin testing, as it allows inspection of registrations without mocking the entire API surface. It could be extracted into a standalone testing library.
Central deterministic scenario router that maps scenario IDs (image.generate, web.search, text.reply) to fixture behavior. It provides a clean pattern for building credential-free test fixtures with configurable delays, failure injection, and predictable outputs. The createKitchenScenarioRuntime() factory is parameterizable (injectable sleep/now) and could be reused for other OpenClaw plugin fixtures.
Implements a bounded CPU, Buffer, and timer resource owner for service calibration. Provides clean RPC validation (integer bounds, idempotent release/reset, proper error codes) and lifecycle management tied to service start/stop. The KitchenResourceError class and validateRequest function are a well-crafted pattern for building testable resource management in plugins.