/*
 * ---------------------------------------------------------
 * Copyright(C) Microsoft Corporation. All rights reserved.
 * ---------------------------------------------------------
 *
 * ---------------------------------------------------------
 * Generated file, DO NOT EDIT
 * ---------------------------------------------------------
 */
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TypeInfo = exports.ValidationResult = exports.State = exports.Severity = exports.SarifJobStatus = exports.ResultType = exports.MetadataOperation = exports.MetadataChangeType = exports.LicenseState = exports.ExpandOption = exports.DismissalType = exports.DependencyKind = exports.Confidence = exports.ComponentType = exports.AnalysisConfigurationType = exports.AlertValidityStatus = exports.AlertValidationRequestStatus = exports.AlertType = exports.AlertListExpandOption = void 0;
var AlertListExpandOption;
(function (AlertListExpandOption) {
    /**
     * No Expands.
     */
    AlertListExpandOption[AlertListExpandOption["None"] = 0] = "None";
    /**
     * Return a minimal representation of an alert.
     */
    AlertListExpandOption[AlertListExpandOption["Minimal"] = 1] = "Minimal";
})(AlertListExpandOption = exports.AlertListExpandOption || (exports.AlertListExpandOption = {}));
var AlertType;
(function (AlertType) {
    /**
     * The code has an unspecified vulnerability type
     */
    AlertType[AlertType["Unknown"] = 0] = "Unknown";
    /**
     * The code uses a dependency with a known vulnerability.
     */
    AlertType[AlertType["Dependency"] = 1] = "Dependency";
    /**
     * The code contains a secret that has now been compromised and must be revoked.
     */
    AlertType[AlertType["Secret"] = 2] = "Secret";
    /**
     * The code contains a weakness determined by static analysis.
     */
    AlertType[AlertType["Code"] = 3] = "Code";
    /**
     * The code uses a dependency with potential license incompliance.
     */
    AlertType[AlertType["License"] = 4] = "License";
})(AlertType = exports.AlertType || (exports.AlertType = {}));
var AlertValidationRequestStatus;
(function (AlertValidationRequestStatus) {
    /**
     * Default, when the request status is not set/applicable.
     */
    AlertValidationRequestStatus[AlertValidationRequestStatus["None"] = 0] = "None";
    /**
     * First validation request for the alert's validation fingerprints, created when the sarif is submitted for processing.
     */
    AlertValidationRequestStatus[AlertValidationRequestStatus["Created"] = 1] = "Created";
    /**
     * The secret validation jobs for the alert's validation fingerprints have been manually queued and at least one is still in progress.
     */
    AlertValidationRequestStatus[AlertValidationRequestStatus["InProgress"] = 2] = "InProgress";
    /**
     * All the secret validation jobs for the alert's validation fingerprints have returned Completed or Failed.
     */
    AlertValidationRequestStatus[AlertValidationRequestStatus["Completed"] = 3] = "Completed";
    /**
     * This status is set only when there is an exception in the ValidationService.
     */
    AlertValidationRequestStatus[AlertValidationRequestStatus["Failed"] = 4] = "Failed";
})(AlertValidationRequestStatus = exports.AlertValidationRequestStatus || (exports.AlertValidationRequestStatus = {}));
var AlertValidityStatus;
(function (AlertValidityStatus) {
    /**
     * When there are no validation fingerprints attached to the alert.
     */
    AlertValidityStatus[AlertValidityStatus["None"] = 0] = "None";
    /**
     * When the validations for validation fingerprints associated to the alert have not been conclusive.
     */
    AlertValidityStatus[AlertValidityStatus["Unknown"] = 1] = "Unknown";
    /**
     * When atleast one validation fingerprint associated to the alert is exploitable.
     */
    AlertValidityStatus[AlertValidityStatus["Active"] = 2] = "Active";
    /**
     * When all validation fingerprints associated to the alert are not exploitable.
     */
    AlertValidityStatus[AlertValidityStatus["Inactive"] = 3] = "Inactive";
})(AlertValidityStatus = exports.AlertValidityStatus || (exports.AlertValidityStatus = {}));
var AnalysisConfigurationType;
(function (AnalysisConfigurationType) {
    /**
     * Default analysis configuration that is not attached to any other configuration data
     */
    AnalysisConfigurationType[AnalysisConfigurationType["Default"] = 0] = "Default";
    /**
     * Ado Pipeline, contains branch, pipeline, phase, and ADOPipelineId
     */
    AnalysisConfigurationType[AnalysisConfigurationType["AdoPipeline"] = 1] = "AdoPipeline";
})(AnalysisConfigurationType = exports.AnalysisConfigurationType || (exports.AnalysisConfigurationType = {}));
/**
 * This enum defines the dependency components.
 */
var ComponentType;
(function (ComponentType) {
    ComponentType[ComponentType["Unknown"] = 0] = "Unknown";
    ComponentType[ComponentType["NuGet"] = 1] = "NuGet";
    /**
     * Indicates the component is an Npm package.
     */
    ComponentType[ComponentType["Npm"] = 2] = "Npm";
    /**
     * Indicates the component is a Maven artifact.
     */
    ComponentType[ComponentType["Maven"] = 3] = "Maven";
    /**
     * Indicates the component is a Git repository.
     */
    ComponentType[ComponentType["Git"] = 4] = "Git";
    /**
     * Indicates the component is not any of the supported component types by Governance.
     */
    ComponentType[ComponentType["Other"] = 5] = "Other";
    /**
     * Indicates the component is a Ruby gem.
     */
    ComponentType[ComponentType["RubyGems"] = 6] = "RubyGems";
    /**
     * Indicates the component is a Cargo package.
     */
    ComponentType[ComponentType["Cargo"] = 7] = "Cargo";
    /**
     * Indicates the component is a Pip package.
     */
    ComponentType[ComponentType["Pip"] = 8] = "Pip";
    /**
     * Indicates the component is a loose file. Not a package as understood by different package managers.
     */
    ComponentType[ComponentType["File"] = 9] = "File";
    /**
     * Indicates the component is a Go package.
     */
    ComponentType[ComponentType["Go"] = 10] = "Go";
    /**
     * Indicates the component is a Docker Image
     */
    ComponentType[ComponentType["DockerImage"] = 11] = "DockerImage";
    /**
     * Indicates the component is a CocoaPods pod.
     */
    ComponentType[ComponentType["Pod"] = 12] = "Pod";
    /**
     * Indicates the component is found in a linux environment. A package understood by linux based package managers like apt and rpm.
     */
    ComponentType[ComponentType["Linux"] = 13] = "Linux";
    /**
     * Indicates the component is a Conda package.
     */
    ComponentType[ComponentType["Conda"] = 14] = "Conda";
    /**
     * Indicates the component is a Docker Reference.
     */
    ComponentType[ComponentType["DockerReference"] = 15] = "DockerReference";
    /**
     * Indicates the component is a Vcpkg Package.
     */
    ComponentType[ComponentType["Vcpkg"] = 16] = "Vcpkg";
})(ComponentType = exports.ComponentType || (exports.ComponentType = {}));
var Confidence;
(function (Confidence) {
    /**
     * High confidence level for alert
     */
    Confidence[Confidence["High"] = 0] = "High";
    /**
     * Other confidence level for alert
     */
    Confidence[Confidence["Other"] = 1] = "Other";
})(Confidence = exports.Confidence || (exports.Confidence = {}));
var DependencyKind;
(function (DependencyKind) {
    DependencyKind[DependencyKind["Unknown"] = 0] = "Unknown";
    /**
     * The root dependency introduced the component being alerted.
     */
    DependencyKind[DependencyKind["RootDependency"] = 1] = "RootDependency";
    /**
     * The component being alerted.
     */
    DependencyKind[DependencyKind["Component"] = 2] = "Component";
    /**
     * Vulnerable Dependency. Deprecating this value. Use Component instead.
     */
    DependencyKind[DependencyKind["VulnerableDependency"] = 3] = "VulnerableDependency";
})(DependencyKind = exports.DependencyKind || (exports.DependencyKind = {}));
var DismissalType;
(function (DismissalType) {
    /**
     * Dismissal type unknown
     */
    DismissalType[DismissalType["Unknown"] = 0] = "Unknown";
    /**
     * Dismissal indicating alert has been fixed
     */
    DismissalType[DismissalType["Fixed"] = 1] = "Fixed";
    /**
     * Dismissal indicating user is accepting a risk for the alert
     */
    DismissalType[DismissalType["AcceptedRisk"] = 2] = "AcceptedRisk";
    /**
     * Dismissal indicating alert is a false positive and will likely not be fixed.
     */
    DismissalType[DismissalType["FalsePositive"] = 3] = "FalsePositive";
    /**
     * Dismissal indicating user is agreeing to follow license guidance.
     */
    DismissalType[DismissalType["AgreedToGuidance"] = 4] = "AgreedToGuidance";
    /**
     * Dismissal indicating backend detection tool was upgraded and the alert is not detected by the new version of tool.
     */
    DismissalType[DismissalType["ToolUpgrade"] = 5] = "ToolUpgrade";
})(DismissalType = exports.DismissalType || (exports.DismissalType = {}));
var ExpandOption;
(function (ExpandOption) {
    /**
     * No Expands.
     */
    ExpandOption[ExpandOption["None"] = 0] = "None";
    /**
     * Return validationFingerprints in Alert.
     */
    ExpandOption[ExpandOption["ValidationFingerprint"] = 1] = "ValidationFingerprint";
})(ExpandOption = exports.ExpandOption || (exports.ExpandOption = {}));
var LicenseState;
(function (LicenseState) {
    /**
     * Information of the license has not been harvested by ClearlyDefined
     */
    LicenseState[LicenseState["Unknown"] = 0] = "Unknown";
    /**
     * Information of the license has not been harvested by ClearlyDefined
     */
    LicenseState[LicenseState["NotHarvested"] = 1] = "NotHarvested";
    /**
     * Information of the license has been harvested by ClearlyDefined
     */
    LicenseState[LicenseState["Harvested"] = 2] = "Harvested";
})(LicenseState = exports.LicenseState || (exports.LicenseState = {}));
/**
 * The type of change that occurred to the metadata.
 */
var MetadataChangeType;
(function (MetadataChangeType) {
    MetadataChangeType[MetadataChangeType["None"] = 0] = "None";
    MetadataChangeType[MetadataChangeType["Created"] = 1] = "Created";
    MetadataChangeType[MetadataChangeType["Updated"] = 2] = "Updated";
    MetadataChangeType[MetadataChangeType["Deleted"] = 3] = "Deleted";
})(MetadataChangeType = exports.MetadataChangeType || (exports.MetadataChangeType = {}));
/**
 * The operation to be performed on the metadata.
 */
var MetadataOperation;
(function (MetadataOperation) {
    /**
     * Represents the defualt value if the operation is not specified or not supported.
     */
    MetadataOperation[MetadataOperation["None"] = 0] = "None";
    /**
     * Represents the addition of the metadata.
     */
    MetadataOperation[MetadataOperation["Add"] = 1] = "Add";
    /**
     * Represents the removal of the metadata.
     */
    MetadataOperation[MetadataOperation["Remove"] = 2] = "Remove";
})(MetadataOperation = exports.MetadataOperation || (exports.MetadataOperation = {}));
/**
 * This enum defines the different result types.
 */
var ResultType;
(function (ResultType) {
    /**
     * The result was found from an unspecified analysis type
     */
    ResultType[ResultType["Unknown"] = 0] = "Unknown";
    /**
     * The result was found from dependency analysis
     */
    ResultType[ResultType["Dependency"] = 1] = "Dependency";
    /**
     * The result was found from static code analysis
     */
    ResultType[ResultType["VersionControl"] = 2] = "VersionControl";
})(ResultType = exports.ResultType || (exports.ResultType = {}));
var SarifJobStatus;
(function (SarifJobStatus) {
    /**
     * The job type when it is new
     */
    SarifJobStatus[SarifJobStatus["New"] = 0] = "New";
    /**
     * The job type when it is queued
     */
    SarifJobStatus[SarifJobStatus["Queued"] = 1] = "Queued";
    /**
     * The job type when it is completed
     */
    SarifJobStatus[SarifJobStatus["Completed"] = 2] = "Completed";
    /**
     * The job type when it fails
     */
    SarifJobStatus[SarifJobStatus["Failed"] = 3] = "Failed";
    /**
     * The job type when it is queued on exception
     */
    SarifJobStatus[SarifJobStatus["Requeued"] = 4] = "Requeued";
})(SarifJobStatus = exports.SarifJobStatus || (exports.SarifJobStatus = {}));
var Severity;
(function (Severity) {
    Severity[Severity["Low"] = 0] = "Low";
    Severity[Severity["Medium"] = 1] = "Medium";
    Severity[Severity["High"] = 2] = "High";
    Severity[Severity["Critical"] = 3] = "Critical";
    Severity[Severity["Note"] = 4] = "Note";
    Severity[Severity["Warning"] = 5] = "Warning";
    Severity[Severity["Error"] = 6] = "Error";
    Severity[Severity["Undefined"] = 7] = "Undefined";
})(Severity = exports.Severity || (exports.Severity = {}));
var State;
(function (State) {
    /**
     * Alert is in an indeterminate state
     */
    State[State["Unknown"] = 0] = "Unknown";
    /**
     * Alert has been detected in the code
     */
    State[State["Active"] = 1] = "Active";
    /**
     * Alert was dismissed by a user
     */
    State[State["Dismissed"] = 2] = "Dismissed";
    /**
     * The issue is no longer detected in the code
     */
    State[State["Fixed"] = 4] = "Fixed";
    /**
     * The tool has determined that the issue is no longer a risk
     */
    State[State["AutoDismissed"] = 8] = "AutoDismissed";
})(State = exports.State || (exports.State = {}));
var ValidationResult;
(function (ValidationResult) {
    /**
     * Default value, no information about the secret can be inferred from this.
     */
    ValidationResult[ValidationResult["None"] = 0] = "None";
    /**
     * Represents a secret that can be used to connect to a resource.
     */
    ValidationResult[ValidationResult["Exploitable"] = 1] = "Exploitable";
    /**
     * Represents a secret that can't be used to connect to a resource.
     */
    ValidationResult[ValidationResult["NotExploitable"] = 2] = "NotExploitable";
    /**
     * Represents a secret where no determination can be made about its exploitability.
     */
    ValidationResult[ValidationResult["Inconclusive"] = 3] = "Inconclusive";
})(ValidationResult = exports.ValidationResult || (exports.ValidationResult = {}));
exports.TypeInfo = {
    Alert: {},
    AlertAnalysisInstance: {},
    AlertListExpandOption: {
        enumValues: {
            "none": 0,
            "minimal": 1
        }
    },
    AlertMetadata: {},
    AlertMetadataChange: {},
    AlertStateUpdate: {},
    AlertType: {
        enumValues: {
            "unknown": 0,
            "dependency": 1,
            "secret": 2,
            "code": 3,
            "license": 4
        }
    },
    AlertValidationRequestStatus: {
        enumValues: {
            "none": 0,
            "created": 1,
            "inProgress": 2,
            "completed": 3,
            "failed": 4
        }
    },
    AlertValidityInfo: {},
    AlertValidityStatus: {
        enumValues: {
            "none": 0,
            "unknown": 1,
            "active": 2,
            "inactive": 3
        }
    },
    AnalysisConfiguration: {},
    AnalysisConfigurationType: {
        enumValues: {
            "default": 0,
            "adoPipeline": 1
        }
    },
    AnalysisInstance: {},
    AnalysisResult: {},
    Branch: {},
    ComponentType: {
        enumValues: {
            "unknown": 0,
            "nuGet": 1,
            "npm": 2,
            "maven": 3,
            "git": 4,
            "other": 5,
            "rubyGems": 6,
            "cargo": 7,
            "pip": 8,
            "file": 9,
            "go": 10,
            "dockerImage": 11,
            "pod": 12,
            "linux": 13,
            "conda": 14,
            "dockerReference": 15,
            "vcpkg": 16
        }
    },
    Confidence: {
        enumValues: {
            "high": 0,
            "other": 1
        }
    },
    Dependency: {},
    DependencyKind: {
        enumValues: {
            "unknown": 0,
            "rootDependency": 1,
            "component": 2,
            "vulnerableDependency": 3
        }
    },
    DependencyResult: {},
    Dismissal: {},
    DismissalType: {
        enumValues: {
            "unknown": 0,
            "fixed": 1,
            "acceptedRisk": 2,
            "falsePositive": 3,
            "agreedToGuidance": 4,
            "toolUpgrade": 5
        }
    },
    ExpandOption: {
        enumValues: {
            "none": 0,
            "validationFingerprint": 1
        }
    },
    License: {},
    LicenseState: {
        enumValues: {
            "unknown": 0,
            "notHarvested": 1,
            "harvested": 2
        }
    },
    LogicalLocation: {},
    Metadata: {},
    MetadataChange: {},
    MetadataChangeType: {
        enumValues: {
            "none": 0,
            "created": 1,
            "updated": 2,
            "deleted": 3
        }
    },
    MetadataOperation: {
        enumValues: {
            "none": 0,
            "add": 1,
            "remove": 2
        }
    },
    Result: {},
    ResultType: {
        enumValues: {
            "unknown": 0,
            "dependency": 1,
            "versionControl": 2
        }
    },
    SarifJobStatus: {
        enumValues: {
            "new": 0,
            "queued": 1,
            "completed": 2,
            "failed": 3,
            "requeued": 4
        }
    },
    SarifUploadStatus: {},
    SearchCriteria: {},
    Severity: {
        enumValues: {
            "low": 0,
            "medium": 1,
            "high": 2,
            "critical": 3,
            "note": 4,
            "warning": 5,
            "error": 6,
            "undefined": 7
        }
    },
    State: {
        enumValues: {
            "unknown": 0,
            "active": 1,
            "dismissed": 2,
            "fixed": 4,
            "autoDismissed": 8
        }
    },
    UxFilters: {},
    ValidationFingerprint: {},
    ValidationRequestInfo: {},
    ValidationResult: {
        enumValues: {
            "none": 0,
            "exploitable": 1,
            "notExploitable": 2,
            "inconclusive": 3
        }
    },
};
exports.TypeInfo.Alert.fields = {
    alertType: {
        enumType: exports.TypeInfo.AlertType
    },
    confidence: {
        enumType: exports.TypeInfo.Confidence
    },
    dismissal: {
        typeInfo: exports.TypeInfo.Dismissal
    },
    firstSeenDate: {
        isDate: true,
    },
    fixedDate: {
        isDate: true,
    },
    introducedDate: {
        isDate: true,
    },
    lastSeenDate: {
        isDate: true,
    },
    logicalLocations: {
        isArray: true,
        typeInfo: exports.TypeInfo.LogicalLocation
    },
    severity: {
        enumType: exports.TypeInfo.Severity
    },
    state: {
        enumType: exports.TypeInfo.State
    },
    validationFingerprints: {
        isArray: true,
        typeInfo: exports.TypeInfo.ValidationFingerprint
    },
    validityDetails: {
        typeInfo: exports.TypeInfo.AlertValidityInfo
    }
};
exports.TypeInfo.AlertAnalysisInstance.fields = {
    analysisConfiguration: {
        typeInfo: exports.TypeInfo.AnalysisConfiguration
    },
    firstSeen: {
        typeInfo: exports.TypeInfo.AnalysisInstance
    },
    fixedIn: {
        typeInfo: exports.TypeInfo.AnalysisInstance
    },
    lastSeen: {
        typeInfo: exports.TypeInfo.AnalysisInstance
    },
    recentAnalysisInstance: {
        typeInfo: exports.TypeInfo.AnalysisInstance
    },
    state: {
        enumType: exports.TypeInfo.State
    }
};
exports.TypeInfo.AlertMetadata.fields = {
    metadata: {
        isArray: true,
        typeInfo: exports.TypeInfo.Metadata
    }
};
exports.TypeInfo.AlertMetadataChange.fields = {
    metadataChange: {
        typeInfo: exports.TypeInfo.MetadataChange
    }
};
exports.TypeInfo.AlertStateUpdate.fields = {
    dismissedReason: {
        enumType: exports.TypeInfo.DismissalType
    },
    state: {
        enumType: exports.TypeInfo.State
    }
};
exports.TypeInfo.AlertValidityInfo.fields = {
    validityLastCheckedDate: {
        isDate: true,
    },
    validityStatus: {
        enumType: exports.TypeInfo.AlertValidityStatus
    }
};
exports.TypeInfo.AnalysisConfiguration.fields = {
    alertType: {
        enumType: exports.TypeInfo.AlertType
    },
    analysisConfigurationType: {
        enumType: exports.TypeInfo.AnalysisConfigurationType
    }
};
exports.TypeInfo.AnalysisInstance.fields = {
    configuration: {
        typeInfo: exports.TypeInfo.AnalysisConfiguration
    },
    createdDate: {
        isDate: true,
    },
    results: {
        isArray: true,
        typeInfo: exports.TypeInfo.AnalysisResult
    }
};
exports.TypeInfo.AnalysisResult.fields = {
    result: {
        typeInfo: exports.TypeInfo.Result
    },
    state: {
        enumType: exports.TypeInfo.State
    }
};
exports.TypeInfo.Branch.fields = {
    deletedDate: {
        isDate: true,
    }
};
exports.TypeInfo.Dependency.fields = {
    componentType: {
        enumType: exports.TypeInfo.ComponentType
    },
    license: {
        typeInfo: exports.TypeInfo.License
    }
};
exports.TypeInfo.DependencyResult.fields = {
    dependency: {
        typeInfo: exports.TypeInfo.Dependency
    }
};
exports.TypeInfo.Dismissal.fields = {
    dismissalType: {
        enumType: exports.TypeInfo.DismissalType
    },
    requestedOn: {
        isDate: true,
    }
};
exports.TypeInfo.License.fields = {
    state: {
        enumType: exports.TypeInfo.LicenseState
    }
};
exports.TypeInfo.LogicalLocation.fields = {
    kind: {
        enumType: exports.TypeInfo.DependencyKind
    },
    license: {
        typeInfo: exports.TypeInfo.License
    }
};
exports.TypeInfo.Metadata.fields = {
    op: {
        enumType: exports.TypeInfo.MetadataOperation
    }
};
exports.TypeInfo.MetadataChange.fields = {
    changeType: {
        enumType: exports.TypeInfo.MetadataChangeType
    }
};
exports.TypeInfo.Result.fields = {
    dependencyResult: {
        typeInfo: exports.TypeInfo.DependencyResult
    },
    resultType: {
        enumType: exports.TypeInfo.ResultType
    },
    severity: {
        enumType: exports.TypeInfo.Severity
    }
};
exports.TypeInfo.SarifUploadStatus.fields = {
    processingStatus: {
        enumType: exports.TypeInfo.SarifJobStatus
    }
};
exports.TypeInfo.SearchCriteria.fields = {
    alertType: {
        enumType: exports.TypeInfo.AlertType
    },
    confidenceLevels: {
        isArray: true,
        enumType: exports.TypeInfo.Confidence
    },
    fromDate: {
        isDate: true,
    },
    modifiedSince: {
        isDate: true,
    },
    severities: {
        isArray: true,
        enumType: exports.TypeInfo.Severity
    },
    states: {
        isArray: true,
        enumType: exports.TypeInfo.State
    },
    toDate: {
        isDate: true,
    },
    validity: {
        isArray: true,
        enumType: exports.TypeInfo.AlertValidityStatus
    }
};
exports.TypeInfo.UxFilters.fields = {
    branches: {
        isArray: true,
        typeInfo: exports.TypeInfo.Branch
    },
    confidenceLevels: {
        isArray: true,
        enumType: exports.TypeInfo.Confidence
    },
    licenses: {
        isArray: true,
        typeInfo: exports.TypeInfo.License
    },
    packages: {
        isArray: true,
        typeInfo: exports.TypeInfo.Dependency
    },
    severities: {
        isArray: true,
        enumType: exports.TypeInfo.Severity
    },
    states: {
        isArray: true,
        enumType: exports.TypeInfo.State
    },
    validity: {
        isArray: true,
        enumType: exports.TypeInfo.AlertValidityStatus
    }
};
exports.TypeInfo.ValidationFingerprint.fields = {
    validityLastUpdatedDate: {
        isDate: true,
    },
    validityResult: {
        enumType: exports.TypeInfo.ValidationResult
    }
};
exports.TypeInfo.ValidationRequestInfo.fields = {
    alertValidationRequestStatus: {
        enumType: exports.TypeInfo.AlertValidationRequestStatus
    },
    validityLastCheckedDate: {
        isDate: true,
    },
    validityStatus: {
        enumType: exports.TypeInfo.AlertValidityStatus
    }
};
