- 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>
Hermes Runtime Plugin
Provides an executable Hermes runtime plugin for Fusion. This package enables runtime registration, discovery, and session execution so agents configured with runtimeConfig.runtimeHint: "hermes" can run through the standard runtime adapter contract.
Overview
This plugin follows the runtime adapter pattern used by other executable plugin runtimes:
- Registers Hermes 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-hermes-runtime ~/.fusion/plugins/
Option 2: Install via CLI
fn plugin add ./plugins/fusion-plugin-hermes-runtime
Runtime Metadata
- Plugin ID:
fusion-plugin-hermes-runtime - Package name:
@fusion-plugin-examples/hermes-runtime - Runtime ID:
hermes - Runtime name:
Hermes Runtime - Version:
0.1.0 - Description: Hermes-backed AI session using the user's configured pi provider and model
Agent Configuration
Configure an agent to target Hermes via runtimeConfig.runtimeHint:
{
"name": "Hermes Executor",
"role": "executor",
"runtimeConfig": {
"runtimeHint": "hermes"
}
}
Local Development
# Run plugin tests
pnpm --filter @fusion-plugin-examples/hermes-runtime test
# Build plugin output to dist/
pnpm --filter @fusion-plugin-examples/hermes-runtime build