GeoLeaf Core API - v3.19.0
    Preparing search index...

    Read-only introspection surface exposed as GeoLeaf.Introspection.

    Consumed by studio and form-builder plugins (P4) to enumerate active modules and read their declared schemas without coupling to the registry internals.

    const modules = GeoLeaf.Introspection.getActiveModules();
    for (const mod of modules) {
    const schema = GeoLeaf.Introspection.getModuleSchema(mod.id);
    if (schema) buildFormFor(schema);
    }
    interface IIntrospectionAPI {
        getModuleSchema(id: string): IModuleSchema | null;
        getActiveModules(): readonly IModuleInfo[];
        getCapabilitySchema(id: string): ICapabilitySchema | null;
        getAllCapabilities(): readonly ICapabilitySchema[];
        getCapabilityStatus(): readonly ICapabilityStatus[];
    }
    Index
    • Returns, for every declared capability, what switches it on and why.

      One question, one answer — distinct from both neighbours:

      • getAllCapabilities() returns what is declared (the schema);
      • getActiveModules() returns what is running (initialised modules);
      • this one returns the config verdict: embarked? enabled? through which gate?

      enabled is re-read on each call against GeoLeaf.Config, hence against the profile-merged config as soon as the profile is loaded. Before boot() no config is loaded and every gate answers its enableWhenAbsent — which is the exact answer to "with what is configured right now", not a fallback value.

      Order matches registration order.

      Returns readonly ICapabilityStatus[]