Files
openclaw/src/plugins/runtime/native-deps.ts
T
Peter Steinberger 98e3f729bc refactor: remove dead plugin loader exports (#105937)
* refactor(plugins): trim activation and contract exports

* test(plugins): restore fixture cleanup

* refactor(plugins): trim install and loader exports

* test(plugins): fully reset loader caches

* refactor(plugins): trim metadata and catalog exports

* test(plugins): preserve catalog trust coverage

* refactor(plugins): trim provider and plugin exports

* refactor(plugins): trim runtime and tool exports

* test(plugins): update dead-export consumers

* test(plugins): remove empty dead-export suites

* refactor(plugins): align exports with split registry

* refactor(plugins): trim drifted loader exports

* style(plugins): format test fixtures

* refactor(scripts): use supported plugin APIs

* refactor(plugins): finish dead export cleanup

* chore(deadcode): refresh export baseline

* test(cli): mock production memory state

* chore(deadcode): sync latest export baseline

* fix(tests): keep plugin fixtures inside core

* chore(deadcode): refresh rebased export baseline

* chore(deadcode): sync current ratchets

* fix(plugins): retain reserved slot invariant

* fix(plugins): preserve dead-export invariants

* test(plugins): use neutral catalog query fixture

* test(plugins): satisfy catalog lint

* test(plugins): preserve integrity drift coverage

* fix(ci): register skill experience live proof
2026-07-13 01:29:33 -07:00

31 lines
1.2 KiB
TypeScript

/** Inputs used to format native dependency install/rebuild guidance. */
type NativeDependencyHintParams = {
packageName: string;
manager?: "pnpm" | "npm" | "yarn";
rebuildCommand?: string;
approveBuildsCommand?: string;
downloadCommand?: string;
};
/** Formats concise guidance for installing and rebuilding a native dependency. */
export function formatNativeDependencyHint(params: NativeDependencyHintParams): string {
const manager = params.manager ?? "pnpm";
const rebuildCommand =
params.rebuildCommand ??
(manager === "npm"
? `npm rebuild ${params.packageName}`
: manager === "yarn"
? `yarn rebuild ${params.packageName}`
: `pnpm rebuild ${params.packageName}`);
const approveBuildsCommand =
params.approveBuildsCommand ??
(manager === "pnpm" ? `pnpm approve-builds (select ${params.packageName})` : undefined);
const steps = [approveBuildsCommand, rebuildCommand, params.downloadCommand].filter(
(step): step is string => Boolean(step),
);
if (steps.length === 0) {
return `Install ${params.packageName} and rebuild its native module.`;
}
return `Install ${params.packageName} and rebuild its native module (${steps.join("; ")}).`;
}