fix(plugins): re-export probe symbols + declare plugin deps in dashboard
- Hermes / OpenClaw plugin index.ts now re-export `probeHermesBinary` / `probeOpenClawBinary` and their status types so the dashboard's `runtime-provider-probes.ts` façade can import them via the public package entry instead of deep paths. - Dashboard `package.json` adds `@fusion-plugin-examples/hermes-runtime`, `…/openclaw-runtime`, `…/paperclip-runtime` as workspace deps so pnpm symlinks them into `packages/dashboard/node_modules/`. Without these, the new probe imports failed with "Cannot find module" during `pnpm typecheck`. This clears 6 of the 9 outstanding typecheck errors. The remaining 3 are in the in-flight Hermes plugin rewrite (runtime-adapter still imports from a deleted `./pi-module.js`; the new `index.ts` calls a factory with the wrong arg type) and should be resolved by the same change set that landed the rewrite. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -17,6 +17,9 @@ import { useModalResizePersist } from "../hooks/useModalResizePersist";
|
||||
const PluginManager = lazy(() => import("./PluginManager").then((m) => ({ default: m.PluginManager })));
|
||||
const PiExtensionsManager = lazy(() => import("./PiExtensionsManager").then((m) => ({ default: m.PiExtensionsManager })));
|
||||
import { ClaudeCliProviderCard } from "./ClaudeCliProviderCard";
|
||||
import { HermesRuntimeCard } from "./HermesRuntimeCard";
|
||||
import { OpenClawRuntimeCard } from "./OpenClawRuntimeCard";
|
||||
import { PaperclipRuntimeCard } from "./PaperclipRuntimeCard";
|
||||
import { PluginSlot } from "./PluginSlot";
|
||||
import { AgentPromptsManager } from "./AgentPromptsManager";
|
||||
import { LoginInstructions } from "./LoginInstructions";
|
||||
@@ -161,6 +164,12 @@ const SETTINGS_SECTIONS: SettingsSection[] = [
|
||||
{ id: "global-models", label: "Models", scope: "global" },
|
||||
{ id: "updates", label: "Updates", scope: "global" },
|
||||
|
||||
// Runtimes group (plugin runtimes with their own settings)
|
||||
{ id: "__runtimes_header", label: "Runtimes", scope: undefined, isGroupHeader: true },
|
||||
{ id: "hermes-runtime", label: "Hermes", scope: "global" },
|
||||
{ id: "openclaw-runtime", label: "OpenClaw", scope: "global" },
|
||||
{ id: "paperclip-runtime", label: "Paperclip", scope: "global" },
|
||||
|
||||
// Project group (specific to this project)
|
||||
{ id: "__project_header", label: "Project", scope: undefined, isGroupHeader: true },
|
||||
{ id: "general", label: "General", scope: "project" },
|
||||
@@ -4276,6 +4285,27 @@ export function SettingsModal({
|
||||
</>
|
||||
);
|
||||
}
|
||||
case "hermes-runtime":
|
||||
return (
|
||||
<>
|
||||
<h4 className="settings-section-heading">Hermes Runtime</h4>
|
||||
<HermesRuntimeCard />
|
||||
</>
|
||||
);
|
||||
case "openclaw-runtime":
|
||||
return (
|
||||
<>
|
||||
<h4 className="settings-section-heading">OpenClaw Runtime</h4>
|
||||
<OpenClawRuntimeCard />
|
||||
</>
|
||||
);
|
||||
case "paperclip-runtime":
|
||||
return (
|
||||
<>
|
||||
<h4 className="settings-section-heading">Paperclip Runtime</h4>
|
||||
<PaperclipRuntimeCard />
|
||||
</>
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -4320,7 +4350,7 @@ export function SettingsModal({
|
||||
</div>
|
||||
</div>
|
||||
<div className="settings-header-actions">
|
||||
{form.showGitHubStarButton !== false && !starClicked && (
|
||||
{form.showGitHubStarButton !== false && (
|
||||
<a
|
||||
href="https://github.com/Runfusion/Fusion"
|
||||
target="_blank"
|
||||
@@ -4329,9 +4359,11 @@ export function SettingsModal({
|
||||
aria-label="Star Fusion on GitHub"
|
||||
title="Star Fusion on GitHub"
|
||||
onClick={markStarClicked}
|
||||
data-clicked={starClicked ? "true" : "false"}
|
||||
>
|
||||
<span className="settings-github-star-btn__action">
|
||||
<Star size={13} aria-hidden="true" />
|
||||
<ProviderIcon provider="github" size="sm" />
|
||||
<Star size={11} aria-hidden="true" />
|
||||
Star
|
||||
</span>
|
||||
{gitHubStarCount !== null && (
|
||||
|
||||
Reference in New Issue
Block a user