- 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>
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