43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import type { ClawdbotConfig } from "../config/config.js";
|
|
|
|
export {
|
|
hasBinary,
|
|
isBundledSkillAllowed,
|
|
isConfigPathTruthy,
|
|
resolveBundledAllowlist,
|
|
resolveConfigPath,
|
|
resolveRuntimePlatform,
|
|
resolveSkillConfig,
|
|
} from "./skills/config.js";
|
|
export {
|
|
applySkillEnvOverrides,
|
|
applySkillEnvOverridesFromSnapshot,
|
|
} from "./skills/env-overrides.js";
|
|
export type {
|
|
ClawdbotSkillMetadata,
|
|
SkillEntry,
|
|
SkillInstallSpec,
|
|
SkillSnapshot,
|
|
SkillsInstallPreferences,
|
|
} from "./skills/types.js";
|
|
export {
|
|
buildWorkspaceSkillSnapshot,
|
|
buildWorkspaceSkillsPrompt,
|
|
filterWorkspaceSkillEntries,
|
|
loadWorkspaceSkillEntries,
|
|
resolveSkillsPromptForRun,
|
|
syncSkillsToWorkspace,
|
|
} from "./skills/workspace.js";
|
|
|
|
export function resolveSkillsInstallPreferences(config?: ClawdbotConfig) {
|
|
const raw = config?.skills?.install;
|
|
const preferBrew = raw?.preferBrew ?? true;
|
|
const managerRaw = typeof raw?.nodeManager === "string" ? raw.nodeManager.trim() : "";
|
|
const manager = managerRaw.toLowerCase();
|
|
const nodeManager =
|
|
manager === "pnpm" || manager === "yarn" || manager === "bun" || manager === "npm"
|
|
? (manager as "npm" | "pnpm" | "yarn" | "bun")
|
|
: "npm";
|
|
return { preferBrew, nodeManager };
|
|
}
|