IFClite TypeScript API
    Preparing search index...

    Type Alias Compatibility

    Compatibility: "compatible" | "outdated" | "permissive"

    SDK-version compatibility checker.

    Each extension's manifest declares an engines.ifcLiteSdk range (e.g. >=2.0.0, ^2.1, 2.x). When the viewer SDK bumps, this module decides which installed extensions need re-evaluation:

    • compatible — the declared range still matches the new SDK version. Pass-through.
    • outdated — the range explicitly excludes the new SDK. Needs migration / repair.
    • permissive — the range is so loose it accepts the new SDK without comment, but the SDK bump crosses a major version. Worth a re-test, even if the range technically passes.

    The matcher is small and dependency-free — semver in its full glory is overkill for what extension manifests need. We support:

    • Single-version pins (2.0.0)
    • Range comparators (>=, >, <=, <, =, ^, ~)
    • Logical AND inside one range string (space-separated)

    Wildcards (*, x, X) and the || OR operator are intentionally not supported; manifests that use them parse but everything resolves to permissive so the user is asked to confirm.

    Spec: docs/architecture/ai-customization/06-self-improvement.md §5.