Files
fusion/plugins/fusion-plugin-openclaw-runtime
gsxdsm bdcb048e20 chore: consolidate test files into __tests__/ dirs and clean stray engine artifacts
- Move all co-located *.test.* files into sibling __tests__/ directories so the
  layout is consistent across packages (159 renames + content-rewrite moves).
  Updates relative imports, vi.mock specifiers, and __dirname/import.meta.url
  path resolutions where tests read fixtures from disk.
- Drop tracked tsc-emit alongside engine .ts sources (auth-storage/logger/
  skill-resolver/context-limit-detector/pi.{js,d.ts,*.map}). These were
  accidentally committed in a merge and the stale pi.js was masking a real
  test-mock vs source mismatch (tests imported "../pi.js" and vite preferred
  the stale build over pi.ts).
- Add packages/engine/.gitignore to block future src/*.{js,d.ts,map}.
- Refactor plugin pi-module seams (openclaw/paperclip/hermes) to ESM-import
  createFnAgent / promptWithFallback / describeModel from @fusion/engine
  instead of require()-ing packages/engine/src/pi.js. Adds @fusion/engine to
  the two plugin package.jsons that were missing it; exports describeModel
  from the engine public API.
- Fix engine test mocks now that they run against current pi.ts: add
  ModelRegistry.create static to mocks in pi.test.ts and pi-create-fn-agent
  .test.ts; switch three boundary-result toEqual assertions to toMatchObject
  so the new content/isError fields don't trip exact-match comparison.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 19:39:20 -07:00
..

OpenClaw Runtime Plugin

Provides an executable OpenClaw runtime plugin for Fusion. This package enables runtime registration, discovery, and session execution so agents configured with runtimeConfig.runtimeHint: "openclaw" can run through the standard runtime adapter contract.

Overview

This plugin follows the runtime adapter pattern used by other executable plugin runtimes:

  • Registers OpenClaw runtime metadata for resolver discovery
  • Creates executable runtime sessions via createFnAgent
  • Delegates prompt execution through promptWithFallback
  • Exposes model descriptions through describeModel
  • Supports best-effort session disposal via dispose()

Installation

Option 1: Copy to plugins directory

cp -r fusion-plugin-openclaw-runtime ~/.fusion/plugins/

Option 2: Install via CLI

fn plugin add ./plugins/fusion-plugin-openclaw-runtime

Runtime Metadata

  • Plugin ID: fusion-plugin-openclaw-runtime
  • Package name: @fusion-plugin-examples/openclaw-runtime
  • Runtime ID: openclaw
  • Runtime name: OpenClaw Runtime
  • Version: 0.1.0
  • Description: OpenClaw-backed AI session using the user's configured pi provider and model

Agent Configuration

Configure an agent to target OpenClaw via runtimeConfig.runtimeHint:

{
  "name": "OpenClaw Executor",
  "role": "executor",
  "runtimeConfig": {
    "runtimeHint": "openclaw"
  }
}

Local Development

# Run plugin tests
pnpm --filter @fusion-plugin-examples/openclaw-runtime test

# Build plugin output to dist/
pnpm --filter @fusion-plugin-examples/openclaw-runtime build