Member Junction
    Preparing search index...

    Bundles the full output of selectModel so it can be threaded through ExecutePrompt → executeSinglePrompt / executePromptInParallel without discarding vendor-resolution data that would need to be re-derived.

    interface ModelSelectionResult {
        allCandidates: ModelVendorCandidate[];
        credentialAvailability?: Map<string, boolean>;
        model: MJAIModelEntityExtended;
        modelEffortLevel?: number;
        promptModelConfiguration?: AIConfigurationSections;
        selectionInfo?: AIModelSelectionInfo;
        vendorApiName?: string;
        vendorDriverClass?: string;
        vendorSupportsEffortLevel?: boolean;
    }
    Index

    Properties

    allCandidates: ModelVendorCandidate[]
    credentialAvailability?: Map<string, boolean>

    Per-candidate credential-availability already computed by AIPromptRunner.selectModelWithAPIKeyTracked during selection, keyed by driverClass:modelID:vendorId (the same key AIPromptRunner.executeModelWithFailover uses for its own cache). Lets failover REUSE selection's credential probes instead of recomputing HasCredentialsAvailable for the prefix it already walked.

    Because selection short-circuits once the highest-priority credentialed candidate is found (see the DECISION note in AIPromptRunner.selectModelWithAPIKeyTracked), this map only contains the candidates UP TO AND INCLUDING the selected one. The not-evaluated tail is intentionally absent so failover still probes it lazily — only if it ever has to walk down there during an actual failover.

    modelEffortLevel?: number
    promptModelConfiguration?: AIConfigurationSections

    The selected candidate's AIPromptModel PromptConfiguration, for the native tool-calling gate.

    selectionInfo?: AIModelSelectionInfo
    vendorApiName?: string
    vendorDriverClass?: string
    vendorSupportsEffortLevel?: boolean