MCPcopy Create free account
hub / github.com/openai/plugins / evaluate_requirement

Function evaluate_requirement

plugins/codex-security/scripts/config_preflight.py:615–693  ·  view source on GitHub ↗
(
    requirement: dict[str, Any],
    *,
    capabilities: dict[str, dict[str, Any]],
    config_layers: list[tuple[Path, dict[str, Any]]],
    effective_config: dict[str, Any],
    config_profile: str | None,
    runtime_checks: dict[str, bool],
    available_plugin_skills: set[str] | None,
    multi_agent_context: dict[str, Any],
    runtime_session_cap: int | None,
)

Source from the content-addressed store, hash-verified

613
614
615def evaluate_requirement(
616 requirement: dict[str, Any],
617 *,
618 capabilities: dict[str, dict[str, Any]],
619 config_layers: list[tuple[Path, dict[str, Any]]],
620 effective_config: dict[str, Any],
621 config_profile: str | None,
622 runtime_checks: dict[str, bool],
623 available_plugin_skills: set[str] | None,
624 multi_agent_context: dict[str, Any],
625 runtime_session_cap: int | None,
626) -> dict[str, Any]:
627 capability_id = requirement["capability"]
628 capability = capabilities[capability_id]
629 result = {
630 "capability": capability_id,
631 "severity": requirement["severity"],
632 "reason": requirement["reason"],
633 }
634
635 if capability["kind"] == "runtime":
636 check = capability["check"]
637 if check not in runtime_checks:
638 return {**result, "status": "unknown", "check": check}
639 actual = runtime_checks[check]
640 return {**result, "status": "pass" if actual else "fail", "actual": actual, "check": check}
641
642 if capability["kind"] == "plugin_skills":
643 required = capability["required"]
644 required_skill_ids = [f"{capability['plugin']}:{skill}" for skill in required]
645 if available_plugin_skills is None:
646 return {
647 **result,
648 "status": "unknown",
649 "check": "available_plugin_skills",
650 "required": required_skill_ids,
651 }
652 unavailable = [
653 f"{capability['plugin']}:{skill}"
654 for skill in required
655 if skill not in available_plugin_skills
656 ]
657 return {
658 **result,
659 "status": "fail" if unavailable else "pass",
660 "unavailable": unavailable,
661 "required": required_skill_ids,
662 }
663
664 if capability["kind"] == "multi_agent_capacity":
665 return evaluate_multi_agent_capacity(
666 result,
667 capability,
668 config_layers=config_layers,
669 effective_config=effective_config,
670 config_profile=config_profile,
671 multi_agent_context=multi_agent_context,
672 runtime_session_cap=runtime_session_cap,

Callers 1

evaluateFunction · 0.85

Calls 4

lookup_config_valueFunction · 0.85
compareFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected