refactor(status): reuse Requirements types

This commit is contained in:
Peter Steinberger
2026-02-15 18:47:50 +00:00
parent c118f6c688
commit 6f2f88d3ad
2 changed files with 8 additions and 36 deletions

View File

@@ -1,5 +1,6 @@
import path from "node:path";
import type { OpenClawConfig } from "../config/config.js";
import type { RequirementConfigCheck, Requirements } from "../shared/requirements.js";
import { evaluateEntryMetadataRequirements } from "../shared/entry-status.js";
import { CONFIG_DIR } from "../utils.js";
import {
@@ -17,10 +18,7 @@ import {
} from "./skills.js";
import { resolveBundledSkillsContext } from "./skills/bundled-context.js";
export type SkillStatusConfigCheck = {
path: string;
satisfied: boolean;
};
export type SkillStatusConfigCheck = RequirementConfigCheck;
export type SkillInstallOption = {
id: string;
@@ -44,20 +42,8 @@ export type SkillStatusEntry = {
disabled: boolean;
blockedByAllowlist: boolean;
eligible: boolean;
requirements: {
bins: string[];
anyBins: string[];
env: string[];
config: string[];
os: string[];
};
missing: {
bins: string[];
anyBins: string[];
env: string[];
config: string[];
os: string[];
};
requirements: Requirements;
missing: Requirements;
configChecks: SkillStatusConfigCheck[];
install: SkillInstallOption[];
};

View File

@@ -1,15 +1,13 @@
import path from "node:path";
import type { OpenClawConfig } from "../config/config.js";
import type { RequirementConfigCheck, Requirements } from "../shared/requirements.js";
import type { HookEligibilityContext, HookEntry, HookInstallSpec } from "./types.js";
import { evaluateEntryMetadataRequirements } from "../shared/entry-status.js";
import { CONFIG_DIR } from "../utils.js";
import { hasBinary, isConfigPathTruthy, resolveHookConfig } from "./config.js";
import { loadWorkspaceHookEntries } from "./workspace.js";
export type HookStatusConfigCheck = {
path: string;
satisfied: boolean;
};
export type HookStatusConfigCheck = RequirementConfigCheck;
export type HookInstallOption = {
id: string;
@@ -34,20 +32,8 @@ export type HookStatusEntry = {
disabled: boolean;
eligible: boolean;
managedByPlugin: boolean;
requirements: {
bins: string[];
anyBins: string[];
env: string[];
config: string[];
os: string[];
};
missing: {
bins: string[];
anyBins: string[];
env: string[];
config: string[];
os: string[];
};
requirements: Requirements;
missing: Requirements;
configChecks: HookStatusConfigCheck[];
install: HookInstallOption[];
};