mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-23 10:55:31 -06:00
98e3f729bc
* 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
31 lines
1.2 KiB
TypeScript
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("; ")}).`;
|
|
}
|