// src/actions/skills/defaults.ts
var XYO_DEFAULT_SKILLS = [
  "xl1-build",
  "xl1-knowledge",
  "xl1-patterns",
  "xl1-scaffold",
  "xy-development",
  "xy-toolchain",
  "xyo-knowledge"
];

// src/actions/skills/skillRules.ts
var XYO_SKILL_NAMES = [...XYO_DEFAULT_SKILLS];
var XY_SKILLS = ["xy-development", "xy-toolchain"];
var XYO_SKILLS = ["xyo-knowledge"];
var XL1_SKILLS = ["xl1-knowledge", "xl1-patterns"];
var XL1_OPTIONAL_SKILLS = ["xl1-scaffold", "xl1-build"];
var TIER_REQUIRED_SKILLS = {
  xy: XY_SKILLS,
  xyo: [...XY_SKILLS, ...XYO_SKILLS],
  xl1: [...XY_SKILLS, ...XYO_SKILLS, ...XL1_SKILLS]
};
var requiredSkillsForTier = (tier) => {
  if (tier === "none") return [];
  return TIER_REQUIRED_SKILLS[tier];
};
var optionalSkillsForTier = (tier) => {
  if (tier !== "xl1") return [];
  return XL1_OPTIONAL_SKILLS;
};
var isXyoSkillName = (name) => {
  return XYO_SKILL_NAMES.includes(name);
};
var unnecessarySkillsForTier = (tier, installed) => {
  const required = new Set(requiredSkillsForTier(tier));
  const optional = new Set(optionalSkillsForTier(tier));
  return installed.filter(isXyoSkillName).filter((name) => !required.has(name) && !optional.has(name)).toSorted((a, b) => a.localeCompare(b));
};
export {
  XL1_OPTIONAL_SKILLS,
  XYO_SKILL_NAMES,
  isXyoSkillName,
  optionalSkillsForTier,
  requiredSkillsForTier,
  unnecessarySkillsForTier
};
//# sourceMappingURL=skillRules.mjs.map
