import type { GraphQLClient, RequestOptions } from 'graphql-request'; import type { MaterialIcon } from 'vscode-material-icons'; export type Maybe = T | null; export type InputMaybe = Maybe; export type Exact = { [K in keyof T]: T[K]; }; export type MakeOptional = Omit & { [SubKey in K]?: Maybe; }; export type MakeMaybe = Omit & { [SubKey in K]: Maybe; }; export type MakeEmpty = { [_ in K]?: never; }; export type Incremental = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never; }; type GraphQLClientRequestHeaders = RequestOptions['requestHeaders']; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: { input: string; output: string; }; String: { input: string; output: string; }; Boolean: { input: boolean; output: boolean; }; Int: { input: number; output: number; }; Float: { input: number; output: number; }; /** Git commit ID (full hash) */ CommitSHA: { input: string; output: string; }; /** Date string in ISO 8601 format */ Date: { input: string; output: string; }; /** Email address string defined by WHATWG HTML Standard with some RFC-related enhancements */ Email: { input: string; output: string; }; /** Text with Markdown formatting */ Markdown: { input: string; output: string; }; /** Icon name from VSCode's Material Icon Theme extension */ MaterialIcon: { input: MaterialIcon; output: MaterialIcon; }; /** NPM package name */ NpmPackageName: { input: string; output: string; }; /** NPM package version */ NpmPackageVersion: { input: string; output: string; }; /** Human-readable and URL-safe ID string */ Slug: { input: string; output: string; }; /** Web URL string defined by WHATWG URL Standard */ URL: { input: string; output: string; }; }; /** Action for checking permissions */ export declare enum Action { /** Creating a new subject */ Create = "Create", /** Deleting a subject */ Delete = "Delete", /** Fetching a subject */ Read = "Read", /** Modifying a subject */ Update = "Update" } /** Generated API key */ export type ApiKey = { /** Metadata */ metadata: ApiKeyMetadata; /** Authentication token (cannot be retrieved later) */ token: Scalars['String']['output']; }; /** API key metadata */ export type ApiKeyMetadata = { /** Creation date */ createdAt: Scalars['Date']['output']; /** Creator */ createdBy?: Maybe; /** Expiry */ expiresAt?: Maybe; /** Unique identifier */ id: Scalars['ID']['output']; /** Is expired? */ isExpired: Scalars['Boolean']['output']; /** Last usage */ lastUsedAt?: Maybe; /** Friendly name */ name: Scalars['String']['output']; /** Project API key has access to (null if whole organization) */ project?: Maybe; /** Permissions scope */ scope: Scope; }; /** Audit with report */ export type Audit = Node & { /** Categories which reference this audit */ categories: Array; /** Usage in categories/groups as percentage */ contributions: AuditContributions; /** Description in Markdown */ description?: Maybe; /** Additional details (e.g. issues, tables) */ details?: Maybe; /** Web link to audit's documentation */ docsUrl?: Maybe; /** Display value (e.g. '1.2 s' or '345 kB') */ formattedValue?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Issues' stats */ issuesStats?: Maybe; /** Plugin where this audit originates */ plugin: Plugin; /** Computed score */ score: Scalars['Float']['output']; /** Audit slug */ slug: Scalars['Slug']['output']; /** Display name */ title: Scalars['String']['output']; /** Raw numeric value (in base unit, e.g. milliseconds or bytes) */ value: Scalars['Float']['output']; }; /** Audit's percentage in category */ export type AuditCategoryContribution = { /** Category */ category: Category; /** Percentage calculated from weights */ percentage: Scalars['Float']['output']; }; /** Audit from report comparison */ export type AuditComparison = Node & { /** Audit from new report (missing if removed) */ after?: Maybe; /** Audit from old report (missing if added) */ before?: Maybe; /** Audit details' comparison */ details?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Status of audit - improved/regressed/etc. */ status: AuditComparisonStatus; /** Changes to audit score and value */ trend?: Maybe; }; /** Paginated audit comparisons (shape follows Relay spec) */ export type AuditComparisonConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Reference to audit comparison in page (shape follows Relay spec) */ export type AuditComparisonEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** AuditComparison */ node: AuditComparison; }; /** Filters for audits from reports comparison */ export type AuditComparisonFilters = { /** Only audits refenced by any of these categories will be fetched */ categories?: InputMaybe>; /** Only audits matching any of these statuses will be fetched */ statuses?: InputMaybe>; }; /** Possibles states of audit when comparing reports */ export declare enum AuditComparisonStatus { /** Audit is present in new report, but not old report */ Added = "Added", /** Audit's score is unchanged, but value changed */ Changed = "Changed", /** Audit's score went up */ Improved = "Improved", /** Audit's score went down */ Regressed = "Regressed", /** Audit is present in old report, but not new report */ Removed = "Removed", /** Audit's score and value are unchanged */ Unchanged = "Unchanged" } /** Paginated audit reports (shape follows Relay spec) */ export type AuditConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Audit's usage in categories/groups as percentage */ export type AuditContributions = { /** Categories which reference audit */ categories: Array; /** Groups with reference audit */ groups: Array; }; /** Details of audit report */ export type AuditDetails = { /** Does this audit use any details? */ enabled: Scalars['Boolean']['output']; /** Number of uncovered issues per severity level */ issueCounts?: Maybe>; /** Additional data in table format */ tables: Array; /** How many tables are in audit details */ tablesCount: Scalars['Int']['output']; /** Additional data in tree format */ trees: Array; /** How many trees are in audit details */ treesCount: Scalars['Int']['output']; }; /** Audit details compared between reports */ export type AuditDetailsComparison = { /** Are audit details used in both reports? */ enabled: Scalars['Boolean']['output']; /** Issues changes between reports */ issuesComparison?: Maybe; /** Issue counts diffs (new minus old) */ issuesStats?: Maybe; /** Table changes between reports */ tablesComparison?: Maybe; /** Table counts diff (new minus old) */ tablesCount: Scalars['Int']['output']; /** Tree changes between reports */ treesComparison?: Maybe; /** Tree counts diff (new minus old) */ treesCount: Scalars['Int']['output']; }; /** Reference to audit report in page (shape follows Relay spec) */ export type AuditEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** Audit report */ node: Audit; }; /** Filters for audits */ export type AuditFilters = { /** Audits must match these categories */ categories?: InputMaybe>; /** Audits must originate in these plugins */ plugins?: InputMaybe>; /** Audits must contain this title substring */ title?: InputMaybe; }; /** Audit's percentage in group */ export type AuditGroupContribution = { /** Group */ group: Group; /** Percentage calculated from weights */ percentage: Scalars['Float']['output']; }; /** Audit or group */ export type AuditOrGroup = Audit | Group; /** Audit comparison or group comparison */ export type AuditOrGroupComparison = AuditComparison | GroupComparison; /** Sort order */ export declare enum AuditOrder { /** Sort by plugin slug in ascending order (i.e. alphabetical) */ PluginAsc = "Plugin_ASC", /** Sort by plugin slug in descending order (i.e. reversed alphabetical) */ PluginDesc = "Plugin_DESC", /** Sort by audit score in ascending order (i.e. from lowest number) */ ScoreAsc = "Score_ASC", /** Sort by audit score in descending order (i.e. from highest number) */ ScoreDesc = "Score_DESC", /** Sort by audit title in ascending order (i.e. alphabetical) */ TitleAsc = "Title_ASC", /** Sort by audit title in descending order (i.e. reversed alphabetical) */ TitleDesc = "Title_DESC", /** Sort by audit value in ascending order (i.e. from lowest number) */ ValueAsc = "Value_ASC", /** Sort by audit value in descending order (i.e. from highest number) */ ValueDesc = "Value_DESC" } /** Combined identification of audit */ export type AuditRef = { /** Plugin slug */ plugin: Scalars['Slug']['input']; /** Audit slug */ slug: Scalars['Slug']['input']; }; /** Audit metadata and report */ export type AuditReport = { /** Description in Markdown */ description?: InputMaybe; /** Detailed info */ details?: InputMaybe; /** Web link to audit's documentation */ docsUrl?: InputMaybe; /** Display value (e.g. '1.2 s' or '345 kB') */ formattedValue?: InputMaybe; /** Score (0-1) */ score: Scalars['Float']['input']; /** Slug */ slug: Scalars['Slug']['input']; /** Display name */ title: Scalars['String']['input']; /** Raw numeric value (in base unit, e.g. milliseconds or bytes) */ value: Scalars['Float']['input']; }; /** Details of audit report */ export type AuditReportDetails = { /** List of issues */ issues?: InputMaybe>; /** Additional data in table format */ tables?: InputMaybe>; /** Additional data in tree format */ trees?: InputMaybe>; }; /** Issue listed in audit report */ export type AuditReportIssue = { /** Error message */ message: Scalars['String']['input']; /** Severity level */ severity: IssueSeverity; /** Column on line where issue ends (columns numbered from 1) */ sourceEndColumn?: InputMaybe; /** Line in file where issue ends (lines numbered from 1) */ sourceEndLine?: InputMaybe; /** Source file (full path from repository root) */ sourceFilePath?: InputMaybe; /** Selector to locate the element on the page */ sourceSelector?: InputMaybe; /** Code snippet of the element */ sourceSnippet?: InputMaybe; /** Column on line where issue starts (columns numbered from 1) */ sourceStartColumn?: InputMaybe; /** Line in file where issue starts (lines numbered from 1) */ sourceStartLine?: InputMaybe; /** Discriminant for issue source */ sourceType?: InputMaybe; /** URL of the web page where the issue was found */ sourceUrl?: InputMaybe; }; /** Table in audit details */ export type AuditReportTable = { /** Column definitions */ columns?: InputMaybe>; /** Data rows */ rows: Array>; /** Heading for display */ title?: InputMaybe; }; /** Table row cell */ export type AuditReportTableCell = { /** Display value */ content: Scalars['String']['input']; /** Key for looking up column definition */ key?: InputMaybe; }; /** Table column */ export type AuditReportTableColumn = { /** Alignment of column */ alignment?: InputMaybe; /** Key of corresponding row cell */ key?: InputMaybe; /** Display text for heading cell */ label?: InputMaybe; }; /** Tree in audit details */ export type AuditReportTree = { /** Root node */ root: AuditReportTreeNode; /** Heading for display */ title?: InputMaybe; /** Discriminant */ type: TreeType; }; /** Tree node (basic or coverage) */ export type AuditReportTreeNode = { /** Child nodes */ children?: InputMaybe>; /** Coverage ratio (only for coverage trees) */ coverage?: InputMaybe; /** Lines of code with missing coverage (only for coverage trees) */ missing?: InputMaybe>; /** Node display text (file/folder name for coverage trees) */ name: Scalars['String']['input']; /** Custom node data (for basic trees) */ values?: InputMaybe>; }; /** Line range in source file with missing coverage (optionally referring to a specific function/class/etc.) */ export type AuditReportTreeNodeUncoveredLoc = { /** Column on line where issue ends (columns numbered from 1) */ endColumn?: InputMaybe; /** Line in file where issue ends (lines numbered from 1) */ endLine?: InputMaybe; /** Type of entity in code (function, class, etc.) */ kind?: InputMaybe; /** Identifier of function, class, etc. */ name?: InputMaybe; /** Column on line where issue starts (columns numbered from 1) */ startColumn?: InputMaybe; /** Line in file where issue starts (lines numbered from 1) */ startLine: Scalars['Int']['input']; }; /** Basic tree node value */ export type AuditReportTreeNodeValue = { /** Identifier */ key: Scalars['String']['input']; /** Display value */ value: Scalars['String']['input']; }; /** Number of audits with given status */ export type AuditStatusCount = { /** Number of audits */ count: Scalars['Int']['output']; /** Status */ status: AuditComparisonStatus; }; /** How an audit's score/value changed over time */ export type AuditTrend = { /** Plugin slug */ plugin: Scalars['Slug']['output']; /** How much has the score increased/decreased by? (if decreased, score will be negative) */ scoreChange?: Maybe; /** By what percentage has the score increased/decreased? (if decreased, score will be negative) */ scoreChangePercentage?: Maybe; /** Audit slug */ slug: Scalars['Slug']['output']; /** How much has the value increased/decreased by? (if decreased, value will be negative) */ valueChange?: Maybe; /** By what percentage has the value increased/decreased? (if decreased, value will be negative) */ valueChangePercentage?: Maybe; }; /** Filters for audit trends */ export type AuditTrendFilters = { /** Audits must belong to this category */ category?: InputMaybe; }; /** Comparing audits between reports */ export type AuditsComparison = { /** Single audit */ audit?: Maybe; /** Audits from both reports */ audits: AuditComparisonConnection; /** Basic stats with status counts */ stats: AuditsComparisonStats; }; /** Comparing audits between reports */ export type AuditsComparisonAuditArgs = { plugin: Scalars['Slug']['input']; slug: Scalars['Slug']['input']; }; /** Comparing audits between reports */ export type AuditsComparisonAuditsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; where?: InputMaybe; }; /** Basic stats for comparing audits between reports */ export type AuditsComparisonStats = { /** Number of audits which are new, resolved, etc. */ countsPerStatus: Array; /** Total number of audits from both reports */ total: Scalars['Int']['output']; }; /** Basic stats for included audits */ export type AuditsStats = { /** Number of audits with perfect score (1) */ perfectScores: Scalars['Int']['output']; /** Number of audits */ total: Scalars['Int']['output']; }; /** Additional audit data in generic tree format */ export type BasicTree = Node & { /** Random ID */ id: Scalars['ID']['output']; /** Root node of tree */ root: BasicTreeNode; /** Display heading */ title?: Maybe; }; /** Node in basic tree */ export type BasicTreeNode = { /** Child nodes (if not leaf) */ children?: Maybe>; /** Text label */ name: Scalars['String']['output']; /** Additional node data */ values?: Maybe>; }; /** Custom node value for basic tree */ export type BasicTreeNodeValue = { /** Identifier */ key: Scalars['String']['output']; /** Display value */ value: Scalars['String']['output']; }; /** Git branch */ export type Branch = { /** Is this the repository's default branch? */ isDefault: Scalars['Boolean']['output']; /** Branch name */ name: Scalars['String']['output']; /** Link to branch in remote Git repo */ url: Scalars['String']['output']; }; /** Comparing categories between reports */ export type CategoriesComparison = { /** Categories from both reports */ categories: Array; /** Single category */ category?: Maybe; /** Basic stats with status counts */ stats: CategoriesComparisonStats; }; /** Comparing categories between reports */ export type CategoriesComparisonCategoriesArgs = { where?: InputMaybe; }; /** Comparing categories between reports */ export type CategoriesComparisonCategoryArgs = { slug: Scalars['Slug']['input']; }; /** Basic stats for comparing categories between reports */ export type CategoriesComparisonStats = { /** Number of categories which are new, resolved, etc. */ countsPerStatus: Array; /** Total number of categories from both reports */ total: Scalars['Int']['output']; }; /** Category with report */ export type Category = Node & { /** Audits referenced by category */ audits: AuditConnection; /** Number of audits */ auditsCount: Scalars['Int']['output']; /** Description in Markdown */ description?: Maybe; /** Groups referenced by category */ groups: Array; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Issues' stats */ issuesStats: IssuesStats; /** Audits and groups referenced by category, ordered by weight */ refs: Array; /** Computed score */ score: Scalars['Float']['output']; /** Pass/fail score threshold (0-1) for binary categories */ scoreTarget?: Maybe; /** Category slug */ slug: Scalars['Slug']['output']; /** Display name */ title: Scalars['String']['output']; }; /** Category with report */ export type CategoryAuditsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; }; /** Category from report comparison */ export type CategoryComparison = Node & { /** Category from new report (missing if removed) */ after?: Maybe; /** Category from old report (missing if added) */ before?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Audits and groups referenced by category and their changes */ refs: CategoryComparisonRefConnection; /** Number of changed audits/group for given status */ refsStatusChanges: Array; /** Status of category - improved/regressed/etc. */ status: CategoryComparisonStatus; /** Changes to category score */ trend?: Maybe; }; /** Category from report comparison */ export type CategoryComparisonRefsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; }; /** Filters for categories from reports comparison */ export type CategoryComparisonFilters = { /** Only categories matching any of these statuses will be fetched */ statuses?: InputMaybe>; }; /** Weighted reference to audit or group from category comparison */ export type CategoryComparisonRef = Node & { /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Contribution to score as a percentage */ percentage: Scalars['Float']['output']; /** Audit or group being referenced */ target: AuditOrGroupComparison; /** Weight used to calculate score */ weight: Scalars['Float']['output']; }; /** Paginated audits or groups referenced by category (shape follows Relay spec) */ export type CategoryComparisonRefConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Reference to audit or group referenced by category in page (shape follows Relay spec) */ export type CategoryComparisonRefEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** Audit or group referenced by category */ node: CategoryComparisonRef; }; /** Number of audits/group with a given comparison status */ export type CategoryComparisonRefsStatusChange = { /** Number of audits/groups with this status */ count: Scalars['Int']['output']; /** Status of audits/groups */ status: AuditComparisonStatus; /** Discriminant between audit or group */ type: CategoryConfigRefType; }; /** Possibles states of category when comparing reports */ export declare enum CategoryComparisonStatus { /** Category is present in new report, but not old report */ Added = "Added", /** Category's score went up */ Improved = "Improved", /** Category's score went down */ Regressed = "Regressed", /** Category is present in old report, but not new report */ Removed = "Removed", /** Category's score is unchanged */ Unchanged = "Unchanged" } /** Category configuration */ export type CategoryConfig = { /** Description in Markdown */ description?: InputMaybe; /** Weighted references to audits and groups for calculating score */ refs: Array; /** Pass/fail score threshold (0-1) for binary categories */ scoreTarget?: InputMaybe; /** Slug */ slug: Scalars['Slug']['input']; /** Display name */ title: Scalars['String']['input']; }; /** Weighted reference to audit or group */ export type CategoryConfigRef = { /** Plugin slug */ plugin: Scalars['Slug']['input']; /** Audit or group slug */ slug: Scalars['Slug']['input']; /** Discriminant between audit or group */ type: CategoryConfigRefType; /** Multiplier used to calculate category score as weighted average */ weight: Scalars['Float']['input']; }; /** What is being referenced in category config */ export declare enum CategoryConfigRefType { /** Reference to audit (via slug) */ Audit = "Audit", /** Reference to group of audits (via slug) */ Group = "Group" } /** Weighted reference to audit or group from category */ export type CategoryRef = { /** Audit or group being referenced */ target: AuditOrGroup; /** Weight used to calculate score */ weight: Scalars['Float']['output']; }; /** Number of categories with given status */ export type CategoryStatusCount = { /** Number of categories */ count: Scalars['Int']['output']; /** Status */ status: CategoryComparisonStatus; }; /** How a category's score changed over time */ export type CategoryTrend = { /** How much has the score increased/decreased by? (if decreased, score will be negative) */ scoreChange?: Maybe; /** By what percentage has the score increased/decreased? (if decreased, score will be negative) */ scoreChangePercentage?: Maybe; /** Category slug */ slug: Scalars['Slug']['output']; }; /** Git commit */ export type Commit = { /** Author of commit */ author?: Maybe; /** Date committed */ date?: Maybe; /** Has analysis been completed for this commit? */ hasReport: Scalars['Boolean']['output']; /** Commit message */ message: Scalars['String']['output']; /** Report of analysis for this commit (if available) */ report?: Maybe; /** Commit's unique SHA-1 hash (unabbreviated) */ sha: Scalars['CommitSHA']['output']; /** Git tags */ tags: Array; /** Link to commit in remote Git repo */ url: Scalars['String']['output']; }; /** Git commit */ export type CommitMessageArgs = { firstLineOnly?: InputMaybe; }; /** Author of Git commit */ export type CommitAuthor = { /** Image URL for author's avatar (from remote Git provider) */ avatarUrl?: Maybe; /** E-mail address (configured in Git) */ email: Scalars['String']['output']; /** Name (configured in Git) */ name: Scalars['String']['output']; }; /** A pair of commits being compared */ export type CommitComparison = { /** Git commit for new state */ after: Commit; /** Git commit for old state */ before: Commit; }; /** Additional audit coverage data in tree format */ export type CoverageTree = Node & { /** Random ID */ id: Scalars['ID']['output']; /** Root node of tree */ root: CoverageTreeNode; /** Display heading */ title?: Maybe; }; /** Node in coverage tree */ export type CoverageTreeNode = { /** Files/folders contained by folder (not applicable for file) */ children?: Maybe>; /** File or folder name */ name: Scalars['String']['output']; /** Coverage metrics */ values: CoverageTreeNodeValues; }; /** Coverage metrics for file/folder */ export type CoverageTreeNodeValues = { /** Coverage ratio (0-1) */ coverage: Scalars['Float']['output']; /** Lines of code with missing coverage (for files only) */ missing?: Maybe>; }; /** Sign-in method based on allowed emails */ export type EmailSignInMethod = Node & SignInMethod & { /** List of allowed emails (e.g. 'john.doe@example.com') or email domains (e.g. '*@example.com') */ allowedEmails: Array; /** Unique ID (for caching) */ id: Scalars['ID']['output']; }; /** Payload for an organization's sign-in method */ export type EnabledSignInMethod = { /** List of allowed emails or domains (only for variant: Email) */ allowedEmails?: InputMaybe>; /** Discriminant */ variant: SignInMethodVariant; }; /** GitHub App installation */ export type GitHubApp = { /** Unique identifier assigned to the GitHub App */ id: Scalars['ID']['output']; /** Display name of the GitHub App */ name: Scalars['String']['output']; /** URL to the GitHub App on GitHub */ webUrl: Scalars['URL']['output']; }; /** Authenticated GitHub provider instance that contains information about the connected GitHub App and available repositories */ export type GitHubProvider = { /** Authenticated GitHub App information */ app?: Maybe; /** List of repositories that the GitHub App has access to */ repositories: Array; }; /** GitHub repository */ export type GitHubRepository = Node & Repository & { /** Repository contents (null if the repository is unauthorized) */ contents?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Repository owner (GitHub user or organization) */ owner: Scalars['String']['output']; /** Connected GitHub projects */ projects: Array>; /** Repository name */ repo: Scalars['String']['output']; }; /** GitLab group that contains one or more related projects */ export type GitLabGroup = { /** Display name of the GitLab group */ name: Scalars['String']['output']; /** Unique path of the GitLab group */ path: Scalars['String']['output']; /** URL to the GitLab group page */ webUrl: Scalars['URL']['output']; }; /** Access token that grants access to projects within a GitLab group */ export type GitLabGroupAccessToken = { /** Group associated with the group-level access token */ group: GitLabGroup; }; /** Personal access token for GitLab authentication */ export type GitLabPersonalAccessToken = { /** User associated with the personal access token */ user: GitLabUser; }; /** Access token that grants access to a specific GitLab project */ export type GitLabProjectAccessToken = { /** Repository associated with the project-level access token */ repository: GitLabRepository; }; /** Authenticated GitLab provider instance that contains authentication details and accessible repositories */ export type GitLabProvider = { /** Repositories accessible to the authenticated GitLab user */ repositories: Array; /** Authentication token details for GitLab, used to verify the user's identity */ token: GitLabToken; }; /** Authenticated GitLab provider instance that contains authentication details and accessible repositories */ export type GitLabProviderRepositoriesArgs = { query?: InputMaybe; visibility?: GitLabVisibility; }; /** GitLab repository */ export type GitLabRepository = Node & Repository & { /** Repository contents (null if the repository is unauthorized) */ contents?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Repository owner (GitLab user or organization) */ owner: Scalars['String']['output']; /** Connected GitLab projects */ projects: Array>; /** Repository name (GitLab project) */ repo: Scalars['String']['output']; }; /** Personal access token for a GitLab service account */ export type GitLabServiceAccountToken = { /** User account associated with the service account token */ user: GitLabUser; }; /** Authentication token for GitLab */ export type GitLabToken = GitLabGroupAccessToken | GitLabPersonalAccessToken | GitLabProjectAccessToken | GitLabServiceAccountToken; /** Individual GitLab user */ export type GitLabUser = { /** Email address associated with the GitLab user */ email: Scalars['String']['output']; /** Unique identifier assigned to the GitLab user */ id: Scalars['ID']['output']; /** Is human user or a service account? */ isBot: Scalars['Boolean']['output']; /** Full name of the GitLab user */ name: Scalars['String']['output']; /** Username of the GitLab user */ username: Scalars['String']['output']; /** URL to the GitLab user profile */ webUrl: Scalars['URL']['output']; }; /** Visibility levels for GitLab repositories that determine who can access a repository */ export declare enum GitLabVisibility { /** Internal repositories are accessible within the organization */ Internal = "Internal", /** Private repositories are only accessible to authorized users */ Private = "Private", /** Public repositories are open to everyone */ Public = "Public" } /** Available Git providers (GitHub and GitLab) */ export type GitProviders = { /** GitHub provider information, null if not configured */ github?: Maybe; /** GitLab provider information, null if not configured */ gitlab?: Maybe; }; /** Repository type */ export declare enum GitRepositoryProvider { /** GitHub */ GitHub = "GitHub", /** GitLab */ GitLab = "GitLab" } /** Pre-defined user permission set - global scope */ export declare enum GlobalRole { /** Super-admin */ SuperAdmin = "SuperAdmin" } /** Role assigned to user globally */ export type GlobalUserRole = { /** Role */ role: GlobalRole; }; /** Group with report */ export type Group = Node & { /** Audits referenced by group */ audits: AuditConnection; /** Number of audits */ auditsCount: Scalars['Int']['output']; /** Categories which reference this group */ categories: Array; /** Usage in categories as percentage */ contributions: GroupContributions; /** Description in Markdown */ description?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Plugin where this group originates */ plugin: Plugin; /** Audits referenced by group, ordered by weight */ refs: Array; /** Computed score */ score: Scalars['Float']['output']; /** Group slug */ slug: Scalars['Slug']['output']; /** Display name */ title: Scalars['String']['output']; }; /** Group with report */ export type GroupAuditsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; }; /** Group's percentage in category */ export type GroupCategoryContribution = { /** Category */ category: Category; /** Percentage calculated from weights */ percentage: Scalars['Float']['output']; }; /** Group from report comparison */ export type GroupComparison = Node & { /** Group from new report (missing if removed) */ after?: Maybe; /** Group from old report (missing if added) */ before?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Audits referenced by group and their changes */ refs: GroupComparisonRefConnection; /** Status of group - improved/regressed/etc. */ status: GroupComparisonStatus; /** Changes to group score */ trend?: Maybe; }; /** Group from report comparison */ export type GroupComparisonRefsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; }; /** Paginated group comparisons (shape follows Relay spec) */ export type GroupComparisonConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Reference to group comparison in page (shape follows Relay spec) */ export type GroupComparisonEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** GroupComparison */ node: GroupComparison; }; /** Filters for groups from reports comparison */ export type GroupComparisonFilters = { /** Only groups refenced by any of these categories will be fetched */ categories?: InputMaybe>; /** Only groups matching any of these statuses will be fetched */ statuses?: InputMaybe>; }; /** Weighted reference to audit from group comparison */ export type GroupComparisonRef = Node & { /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Contribution to score as a percentage */ percentage: Scalars['Float']['output']; /** Audit being referenced */ target: AuditComparison; /** Weight used to calculate score */ weight: Scalars['Float']['output']; }; /** Paginated audits referenced by group (shape follows Relay spec) */ export type GroupComparisonRefConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Reference to audit referenced by group in page (shape follows Relay spec) */ export type GroupComparisonRefEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** Audit referenced by group */ node: GroupComparisonRef; }; /** Possibles states of group when comparing reports */ export declare enum GroupComparisonStatus { /** Group is present in new report, but not old report */ Added = "Added", /** Group's score went up */ Improved = "Improved", /** Group's score went down */ Regressed = "Regressed", /** Group is present in old report, but not new report */ Removed = "Removed", /** Group's score is unchanged */ Unchanged = "Unchanged" } /** Group configuration */ export type GroupConfig = { /** Description in Markdown */ description?: InputMaybe; /** Weighted references to audits for calculating score */ refs: Array; /** Human-readable ID (URL-safe) */ slug: Scalars['Slug']['input']; /** Display name */ title: Scalars['String']['input']; }; /** Weighted reference to audit */ export type GroupConfigAuditRef = { /** Audit slug */ slug: Scalars['Slug']['input']; /** Multiplier used to calculate group score as weighted average */ weight: Scalars['Float']['input']; }; /** Group's usage in categories as percentage */ export type GroupContributions = { /** Categories which reference group */ categories: Array; }; /** Weighted reference to audit from group */ export type GroupRef = { /** Audit being referenced */ target: Audit; /** Weight used to calculate score */ weight: Scalars['Float']['output']; }; /** Number of groups with given status */ export type GroupStatusCount = { /** Number of groups */ count: Scalars['Int']['output']; /** Status */ status: GroupComparisonStatus; }; /** How a group's score changed over time */ export type GroupTrend = { /** Plugin slug */ plugin: Scalars['Slug']['output']; /** How much has the score increased/decreased by? (if decreased, score will be negative) */ scoreChange?: Maybe; /** By what percentage has the score increased/decreased? (if decreased, score will be negative) */ scoreChangePercentage?: Maybe; /** Group slug */ slug: Scalars['Slug']['output']; }; /** Comparing groups between reports */ export type GroupsComparison = { /** Single group */ group?: Maybe; /** Groups from both reports */ groups: GroupComparisonConnection; /** Basic stats with status counts */ stats: GroupsComparisonStats; }; /** Comparing groups between reports */ export type GroupsComparisonGroupArgs = { plugin: Scalars['Slug']['input']; slug: Scalars['Slug']['input']; }; /** Comparing groups between reports */ export type GroupsComparisonGroupsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; where?: InputMaybe; }; /** Basic stats for comparing groups between reports */ export type GroupsComparisonStats = { /** Number of groups which are new, resolved, etc. */ countsPerStatus: Array; /** Total number of groups from both reports */ total: Scalars['Int']['output']; }; /** Issue found in analysis */ export type Issue = Node & { /** Audit where this issue originated */ audit: Audit; /** Categories which reference the audit */ categories: Array; /** Git commit */ commit: Commit; /** Random ID */ id: Scalars['ID']['output']; /** Error message */ message: Scalars['String']['output']; /** Git repo */ repository: Repository; /** Severity level */ severity: IssueSeverity; /** Link to issue source */ source?: Maybe; }; /** Filters for issues from reports comparison */ export type IssueComparisonFilters = { /** Only issues matching this status will be fetched */ status: IssueComparisonStatus; }; /** Possible status of issues when comparing reports */ export declare enum IssueComparisonStatus { /** Issue belongs to audit present in new report, but not old report */ Added = "Added", /** Issue's present in new report, but not old report (audit in both) */ New = "New", /** Issue belongs to audit present in old report, but not new report */ Removed = "Removed", /** Issue's present in old report, but not new report (audit in both) */ Resolved = "Resolved", /** Issue's present in both old and new reports */ Unchanged = "Unchanged" } /** Paginated analysis issues (shape follows Relay spec) */ export type IssueConnection = { /** Pagination items */ edges: Array; /** Pagination info */ pageInfo: PageInfo; }; /** Reference to analysis issue in page (shape follows Relay spec) */ export type IssueEdge = { /** Pagination cursor */ cursor: Scalars['String']['output']; /** Issue */ node: Issue; }; /** Filters for analysis issues (no more than one clause at a time is supported) */ export type IssueFilters = { /** Issues must originate in these audits */ audits?: InputMaybe>; /** Issues must match these categories */ categories?: InputMaybe>; /** Issues must be in these files or directories */ sourceCodePaths?: InputMaybe>; /** Issues must be reported on these URLs */ sourceUrls?: InputMaybe>; }; /** Sort order for analysis issues */ export declare enum IssueOrder { /** Sort by audit name in ascending order (i.e. alphabetical) */ AuditAsc = "Audit_ASC", /** Sort by audit name in descending order (i.e. reverse alphabetical) */ AuditDesc = "Audit_DESC", /** Sort by error message in ascending order (i.e. alphabetical) */ MessageAsc = "Message_ASC", /** Sort by error message in descending order (i.e. reverse alphabetical) */ MessageDesc = "Message_DESC", /** Sort by severity in ascending order (i.e. from least to most severe, or alphabetical for legacy reports) */ SeverityAsc = "Severity_ASC", /** Sort by severity in descending order (i.e. from most to least severe, or reverse alphabetical for legacy reports) */ SeverityDesc = "Severity_DESC", /** Sort by source in ascending order (i.e. alphabetical) */ SourceAsc = "Source_ASC", /** Sort by source in descending order (i.e. reverse alphabetical) */ SourceDesc = "Source_DESC" } /** Severity level of an issue */ export declare enum IssueSeverity { /** Error */ Error = "Error", /** Informational */ Info = "Info", /** Warning */ Warning = "Warning" } /** Number of issues of given severity */ export type IssueSeverityCount = { /** Number of issues */ count: Scalars['Int']['output']; /** Severity level */ severity: IssueSeverity; }; /** Source of an issue */ export type IssueSource = SourceCodeLocation | SourceUrlLocation; /** Type of issue source */ export declare enum IssueSourceType { /** File snippet in source code */ SourceCode = "SourceCode", /** Element on a web page */ Url = "Url" } /** Number of issues with given status */ export type IssueStatusCount = { /** Number of issues */ count: Scalars['Int']['output']; /** Status */ status: IssueComparisonStatus; }; /** Full comparison of issues between reports */ export type IssuesComparison = { /** Issues with given status */ issues: IssueConnection; /** Comparing issue counts between reports */ stats: IssuesComparisonStats; }; /** Full comparison of issues between reports */ export type IssuesComparisonIssuesArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; orderBy?: InputMaybe; where: IssueComparisonFilters; }; /** Basic stats for comparing issues between reports */ export type IssuesComparisonStats = { /** Number of issues which are new, resolved, etc. */ countsPerStatus: Array; /** Difference between total counts */ totalChange: Scalars['Int']['output']; }; /** Basic stats for detected issues */ export type IssuesStats = { /** Number of issues for each severity */ countsPerSeverity: Array; /** Number of issues */ total: Scalars['Int']['output']; }; /** Git repository */ export type LinkedRepository = { /** GitHub owner or GitLab group path */ owner: Scalars['String']['input']; /** Type of repository */ provider: GitRepositoryProvider; /** GitHub repo or GitLab project slug */ repo: Scalars['String']['input']; }; /** Pre-defined user permission set - organization/project scope */ export declare enum LocalRole { /** Maintainer */ Maintainer = "Maintainer", /** Owner */ Owner = "Owner", /** Viewer */ Viewer = "Viewer" } /** Root mutations */ export type Mutation = { /** Block user in organization or projects */ blockUser: User; /** Create a new organization */ createOrganization: Organization; /** Create a new project (in an existing organization) */ createProject: Project; /** Delete API key */ deleteApiKey?: Maybe; /** Delete an organization, with all its projects and reports */ deleteOrganization?: Maybe; /** Delete an existing project, with all its reports */ deleteProject?: Maybe; /** Create API key (cannot be retrieved after this mutation) */ generateApiKey: ApiKey; /** Send invitation email to (authorized) user and update their role in organization/project */ inviteUser: User; /** Sign in user using HOTP from sign-in link */ login: UserTokens; /** Get new access and refresh tokens */ refreshTokens: UserTokens; /** Update organization name */ renameOrganization: Organization; /** Update sign-in methods for organization */ replaceOrganizationSignInMethods: Organization; /** Update list of users with super-admin role (all affected users listed in response) */ replaceSuperAdminUsers: Array; /** Upload analysis report */ saveReport: Report; /** Contact us via email form message */ sendContactUsEmail?: Maybe; /** Send sign-in link to provided email address */ sendEmailSignInLink?: Maybe; /** Add or remove project to/from favorites (requires user authentication) */ setFavoriteProject: Project; /** Unblock user in organization or projects */ unblockUser: User; /** Update an existing project */ updateProject: Project; /** Replace user's roles within organization and its projects */ updateUserRolesInOrganization: User; }; /** Root mutations */ export type MutationBlockUserArgs = { email: Scalars['Email']['input']; organization: Scalars['Slug']['input']; projects?: InputMaybe>; }; /** Root mutations */ export type MutationCreateOrganizationArgs = { friendlyName?: InputMaybe; signInMethods: Array; slug: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationCreateProjectArgs = { friendlyName?: InputMaybe; organization: Scalars['Slug']['input']; repository: LinkedRepository; slug: Scalars['Slug']['input']; tags?: InputMaybe>; }; /** Root mutations */ export type MutationDeleteApiKeyArgs = { apiKeyId: Scalars['String']['input']; organization: Scalars['Slug']['input']; project?: InputMaybe; }; /** Root mutations */ export type MutationDeleteOrganizationArgs = { slug: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationDeleteProjectArgs = { organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationGenerateApiKeyArgs = { expiresAt?: InputMaybe; name: Scalars['String']['input']; organization: Scalars['Slug']['input']; project?: InputMaybe; scope: Scope; }; /** Root mutations */ export type MutationInviteUserArgs = { email: Scalars['Email']['input']; message?: InputMaybe; organization: Scalars['Slug']['input']; project?: InputMaybe; role: LocalRole; }; /** Root mutations */ export type MutationLoginArgs = { email: Scalars['Email']['input']; hotp: Scalars['String']['input']; }; /** Root mutations */ export type MutationRefreshTokensArgs = { refreshToken: Scalars['String']['input']; }; /** Root mutations */ export type MutationRenameOrganizationArgs = { friendlyName: Scalars['String']['input']; slug: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationReplaceOrganizationSignInMethodsArgs = { organization: Scalars['Slug']['input']; signInMethods: Array; }; /** Root mutations */ export type MutationReplaceSuperAdminUsersArgs = { emails: Array; }; /** Root mutations */ export type MutationSaveReportArgs = { categories: Array; commandDuration?: InputMaybe; commandStartDate?: InputMaybe; commit: Scalars['CommitSHA']['input']; organization: Scalars['Slug']['input']; packageName?: InputMaybe; packageVersion?: InputMaybe; plugins: Array; project: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationSendContactUsEmailArgs = { company?: InputMaybe; email: Scalars['String']['input']; message: Scalars['String']['input']; name: Scalars['String']['input']; }; /** Root mutations */ export type MutationSendEmailSignInLinkArgs = { email: Scalars['Email']['input']; }; /** Root mutations */ export type MutationSetFavoriteProjectArgs = { isFavorite?: Scalars['Boolean']['input']; organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; }; /** Root mutations */ export type MutationUnblockUserArgs = { email: Scalars['Email']['input']; organization: Scalars['Slug']['input']; projects?: InputMaybe>; }; /** Root mutations */ export type MutationUpdateProjectArgs = { friendlyName?: InputMaybe; organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; repository?: InputMaybe; tags?: InputMaybe>; }; /** Root mutations */ export type MutationUpdateUserRolesInOrganizationArgs = { email: Scalars['Email']['input']; organization: Scalars['Slug']['input']; roles: Array; }; /** Generic node (based on Relay spec) */ export type Node = { /** Unique ID (for caching) */ id: Scalars['ID']['output']; }; /** Stages of onboarding based on existing organizations and their projects */ export declare enum OnboardingStatus { /** No organizations found */ NotOnboarded = "NotOnboarded", /** At least one organization contains one or more projects */ Onboarded = "Onboarded", /** At least one organization exists, but none contain any projects */ OrganizationOnly = "OrganizationOnly" } /** Organization */ export type Organization = Node & { /** API keys with access to organization */ apiKeys: Array; /** Custom display name */ friendlyName?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Projects belonging to organization */ projects: Array; /** All enabled sign in methods (which user has access to) */ signInMethods: Array; /** Slug */ slug: Scalars['Slug']['output']; /** Users with access to (or blocked in) organization */ users: Array; }; /** Organization */ export type OrganizationUsersArgs = { roleType?: InputMaybe; }; /** Role assigned to user in organization */ export type OrganizationUserRole = { /** Organization */ organization: Organization; /** Role */ role: LocalRole; }; /** Pagination metadata */ export type PageInfo = { /** Pagination cursor of last item */ endCursor?: Maybe; /** Are there any subsequent items? */ hasNextPage: Scalars['Boolean']['output']; /** Are there any preceding items? */ hasPreviousPage: Scalars['Boolean']['output']; /** Pagination cursor of first item */ startCursor?: Maybe; }; /** Plugin with report */ export type Plugin = Node & { /** Audits defined by plugin */ audits: AuditConnection; /** Number of audits */ auditsCount: Scalars['Int']['output']; /** Description in Markdown */ description?: Maybe; /** Web link to plugin's documentation */ docsUrl?: Maybe; /** Groups defined by plugin */ groups: Array; /** Number of groups */ groupsCount: Scalars['Int']['output']; /** Icon used to visually identify plugin */ icon: Scalars['MaterialIcon']['output']; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** NPM package name */ packageName?: Maybe; /** NPM package version */ packageVersion?: Maybe; /** How long plugin runner took (in milliseconds) */ runnerDuration?: Maybe; /** When plugin runner was started */ runnerStartDate?: Maybe; /** Plugin slug */ slug: Scalars['Slug']['output']; /** Display name */ title: Scalars['String']['output']; }; /** Plugin with report */ export type PluginAuditsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; }; /** Plugin metadata and report */ export type PluginReport = { /** Audit configurations and reports */ audits: Array; /** Description in Markdown */ description?: InputMaybe; /** Web link to plugin's documentation */ docsUrl?: InputMaybe; /** Group configurations */ groups?: InputMaybe>; /** Icon used to visually identify plugin */ icon: Scalars['MaterialIcon']['input']; /** NPM package name */ packageName?: InputMaybe; /** NPM package version */ packageVersion?: InputMaybe; /** How long plugin runner took (in milliseconds) */ runnerDuration?: InputMaybe; /** When plugin runner was started */ runnerStartDate?: InputMaybe; /** Slug */ slug: Scalars['Slug']['input']; /** Display name */ title: Scalars['String']['input']; }; /** Basic stats for included plugins */ export type PluginsStats = { /** Number of plugins */ total: Scalars['Int']['output']; }; /** Project */ export type Project = Node & { /** Custom display name */ friendlyName?: Maybe; /** Does this project have any reports? */ hasReports: Scalars['Boolean']['output']; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Has authenticated user favorited this project? (null if authorized via API key) */ isFavorite?: Maybe; /** Latest analysis report for default branch (checks older commits as well) */ latestReport?: Maybe; /** Organization project belongs to */ organization: Organization; /** Analysis report for given version (identified by branch or commit) */ report?: Maybe; /** Diff between reports for given Git refs */ reportComparison?: Maybe; /** Analysis reports for given date range (max 90 days) */ reports?: Maybe>; /** Analysis reports trend over given date range (max 90 days) */ reportsTrend?: Maybe; /** Git repository */ repository: Repository; /** Slug */ slug: Scalars['Slug']['output']; /** Custom project tags */ tags: Array; /** Users with access to (or blocked in) project */ users: Array; }; /** Project */ export type ProjectLatestReportArgs = { maxCommits?: InputMaybe; }; /** Project */ export type ProjectReportArgs = { branch?: InputMaybe; commit?: InputMaybe; tag?: InputMaybe; }; /** Project */ export type ProjectReportComparisonArgs = { after: Scalars['String']['input']; before: Scalars['String']['input']; }; /** Project */ export type ProjectReportsArgs = { branch?: InputMaybe; commit?: InputMaybe; since?: InputMaybe; tag?: InputMaybe; until?: InputMaybe; }; /** Project */ export type ProjectReportsTrendArgs = { branch?: InputMaybe; commit?: InputMaybe; since?: InputMaybe; tag?: InputMaybe; until?: InputMaybe; }; /** Project */ export type ProjectUsersArgs = { roleType?: InputMaybe; }; /** Project tag with usage count */ export type ProjectTagCount = { /** Number of projects using this tag */ count: Scalars['Int']['output']; /** Tag name */ tag: Scalars['String']['output']; }; /** Role assigned to user in project */ export type ProjectUserRole = { /** Project */ project: Project; /** Role */ role: LocalRole; }; /** Root queries */ export type Query = { /** Available GitHub and GitLab repositories for the authenticated user */ gitProviders: GitProviders; /** Have any organizations been created for this portal instance? */ hasOrganizations: Scalars['Boolean']['output']; /** Fetches a single node by its node ID (based on Relay spec) */ node?: Maybe; /** Onboarding status */ onboardingStatus: OnboardingStatus; /** Specific organization */ organization?: Maybe; /** All organizations (which user has access to) */ organizations: Array; /** Specific project in organization */ project?: Maybe; /** Aggregated project tags sorted by count (descending) and name (ascending) */ projectTags: Array; /** All projects in organization */ projects: Array; /** Analysis report for given project version (identified by branch or commit) */ report?: Maybe; /** Analysis reports for project in given date range */ reports?: Maybe>; }; /** Root queries */ export type QueryNodeArgs = { id: Scalars['ID']['input']; }; /** Root queries */ export type QueryOrganizationArgs = { organization: Scalars['Slug']['input']; }; /** Root queries */ export type QueryProjectArgs = { organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; }; /** Root queries */ export type QueryProjectsArgs = { organization?: InputMaybe; tags?: InputMaybe>; }; /** Root queries */ export type QueryReportArgs = { branch?: InputMaybe; commit?: InputMaybe; organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; tag?: InputMaybe; }; /** Root queries */ export type QueryReportsArgs = { branch?: InputMaybe; commit?: InputMaybe; organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; since?: InputMaybe; tag?: InputMaybe; until?: InputMaybe; }; /** Analysis report (for a given version of Git repository) */ export type Report = Node & { /** Single audit */ audit?: Maybe; /** All audits */ audits: AuditConnection; /** All categories */ categories: Array; /** Single category */ category?: Maybe; /** How long CLI command took (in milliseconds) */ commandDuration?: Maybe; /** When was CLI command started */ commandStartDate?: Maybe; /** Git commit */ commit: Commit; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Issues found during analysis (from different audits) */ issues: IssueConnection; /** CLI's NPM package name */ packageName?: Maybe; /** CLI's NPM package version */ packageVersion?: Maybe; /** Single plugin */ plugin?: Maybe; /** All plugins */ plugins: Array; /** Project */ project: Project; /** Git repo */ repository: Repository; /** Source files referenced by issues in report */ sourceFiles: Array; /** Source URLs referenced by issues in report */ sourceUrls: Array; /** Basic stats */ stats: ReportStats; /** Web link to report in portal */ url: Scalars['URL']['output']; }; /** Analysis report (for a given version of Git repository) */ export type ReportAuditArgs = { plugin: Scalars['Slug']['input']; slug: Scalars['Slug']['input']; }; /** Analysis report (for a given version of Git repository) */ export type ReportAuditsArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; orderBy?: InputMaybe; where?: InputMaybe; }; /** Analysis report (for a given version of Git repository) */ export type ReportCategoryArgs = { slug: Scalars['Slug']['input']; }; /** Analysis report (for a given version of Git repository) */ export type ReportIssuesArgs = { after?: InputMaybe; before?: InputMaybe; first?: InputMaybe; last?: InputMaybe; orderBy?: InputMaybe; where?: InputMaybe; }; /** Analysis report (for a given version of Git repository) */ export type ReportPluginArgs = { slug: Scalars['Slug']['input']; }; /** Diff between two different reports */ export type ReportComparison = Node & { /** Audits changes between reports */ auditsComparison: AuditsComparison; /** Categories changes between reports */ categoriesComparison: CategoriesComparison; /** Git commits */ commits: CommitComparison; /** Groups changes between reports */ groupsComparison: GroupsComparison; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Project */ project: Project; /** Git repo */ repository: Repository; /** Web link to reports comparison in portal */ url: Scalars['URL']['output']; }; /** Basic stats for a given report */ export type ReportStats = { _?: Maybe; /** Audits' stats */ audits: AuditsStats; /** Issues' stats */ issues: IssuesStats; /** Plugins' stats */ plugins: PluginsStats; }; /** Statistical trend for analysis reports */ export type ReportsTrend = { _?: Maybe; /** Trends for given audits */ auditTrends: Array; /** Trends for given categories */ categoryTrends: Array; }; /** Statistical trend for analysis reports */ export type ReportsTrendAuditTrendsArgs = { audits?: InputMaybe>; where?: InputMaybe; }; /** Statistical trend for analysis reports */ export type ReportsTrendCategoryTrendsArgs = { categories?: InputMaybe>; }; /** Remote Git repository */ export type Repository = { /** Repository contents (null if the repository is unauthorized) */ contents?: Maybe; /** Unique ID (for caching) */ id: Scalars['ID']['output']; /** Connected projects */ projects: Array>; }; /** Remote Git repository contents */ export type RepositoryContents = { /** Branch */ branch?: Maybe; /** Remote branches */ branches: Array; /** Commit */ commit?: Maybe; /** Latest commits for given Git ref */ commits?: Maybe>; /** Default branch */ defaultBranch: Branch; /** File content */ fileContent?: Maybe; /** Git tag */ tag?: Maybe; /** All Git tags in the repository */ tags: Array; /** Web URL */ url: Scalars['String']['output']; }; /** Remote Git repository contents */ export type RepositoryContentsBranchArgs = { name?: InputMaybe; }; /** Remote Git repository contents */ export type RepositoryContentsBranchesArgs = { skipWithoutReport?: InputMaybe; }; /** Remote Git repository contents */ export type RepositoryContentsCommitArgs = { ref?: InputMaybe; }; /** Remote Git repository contents */ export type RepositoryContentsCommitsArgs = { page?: InputMaybe; pageSize?: InputMaybe; ref?: InputMaybe; }; /** Remote Git repository contents */ export type RepositoryContentsFileContentArgs = { endLine?: InputMaybe; path: Scalars['String']['input']; ref?: InputMaybe; startLine?: InputMaybe; }; /** Remote Git repository contents */ export type RepositoryContentsTagArgs = { name: Scalars['String']['input']; }; /** Remote Git repository contents */ export type RepositoryContentsTagsArgs = { skipWithoutReport?: InputMaybe; }; /** A role that's assigned to a user in an organization or its project */ export type RoleWithinOrganization = { /** Project slug if applicable, null if role applies to whole organization */ project?: InputMaybe; /** Role */ role: LocalRole; }; /** Pre-defined API key permission set */ export declare enum Scope { /** read:api - read-only access to everything */ ReadApi = "ReadApi", /** read:reports - for category badges */ ReadReports = "ReadReports", /** write:projects - for creating projects */ WriteProjects = "WriteProjects", /** write:reports - for uploading to portal */ WriteReports = "WriteReports" } /** Sign-in method */ export type SignInMethod = { /** Unique ID (for caching) */ id: Scalars['ID']['output']; }; /** Type of sign-in method */ export declare enum SignInMethodVariant { /** Access based on allowed emails */ Email = "Email" } /** Reference to source code */ export type SourceCodeLocation = { /** Column on line where issue ends (columns numbered from 1) */ endColumn?: Maybe; /** Line in file where issue ends (lines numbered from 1) */ endLine?: Maybe; /** Source file (full path from repository root) */ filePath: Scalars['String']['output']; /** Git repo */ repository: Repository; /** Column on line where issue starts (columns numbered from 1) */ startColumn?: Maybe; /** Line in file where issue starts (lines numbered from 1) */ startLine?: Maybe; /** Web link to source file (with highlighted lines) in remote Git repo */ webUrl: Scalars['String']['output']; }; /** Reference to an element on a web page */ export type SourceUrlLocation = { /** Selector to locate the element */ selector?: Maybe; /** Code snippet of the element */ snippet?: Maybe; /** URL of the web page where the issue was found */ url: Scalars['String']['output']; }; /** Subject type for checking permissions */ export declare enum Subject { /** API key */ ApiKey = "ApiKey", /** Organization */ Organization = "Organization", /** Project */ Project = "Project", /** Report */ Report = "Report", /** Sign-in method */ SignInMethod = "SignInMethod", /** User */ User = "User" } /** Additional audit data in table format */ export type Table = Node & { /** Table body rows */ body: Array>; /** Table header row */ header?: Maybe>; /** Random ID */ id: Scalars['ID']['output']; /** Display heading */ title?: Maybe; }; /** Table column alignment */ export declare enum TableAlignment { /** Aligned in the middle */ Center = "Center", /** Aligned to the left side */ Left = "Left", /** Aligned to the right side */ Right = "Right" } /** Cell content of audit details table */ export type TableCell = { /** Text alignment */ alignment: TableAlignment; /** Display text */ content: Scalars['String']['output']; }; /** Individual table from reports comparison */ export type TableComparison = { /** Table from new report (unless status is Removed) */ after?: Maybe
; /** Table from old report (unless status is Added) */ before?: Maybe
; /** Comparison status */ status: TableComparisonStatus; }; /** Filters for tables from reports comparison */ export type TableComparisonFilters = { /** Only tables matching this status will be fetched */ status?: InputMaybe; }; /** Status of table compared between reports */ export declare enum TableComparisonStatus { /** Table is present in new report, but not old report */ Added = "Added", /** Table body is changed */ Changed = "Changed", /** Table is present in old report, but not new report */ Removed = "Removed", /** Table body is unchanged */ Unchanged = "Unchanged" } /** Number of tables with given status */ export type TableStatusCount = { /** Number of tables */ count: Scalars['Int']['output']; /** Status */ status: TableComparisonStatus; }; /** Full comparison of tables between reports */ export type TablesComparison = { /** Comparing table counts between reports */ stats: TablesComparisonStats; /** Tables with given status */ tables: Array; }; /** Full comparison of tables between reports */ export type TablesComparisonTablesArgs = { where?: InputMaybe; }; /** Basic stats for comparing tables between reports */ export type TablesComparisonStats = { /** Number of tables which are changed, unchanged, etc. */ countsPerStatus: Array; /** Difference between total counts */ totalChange: Scalars['Int']['output']; }; /** Git tag */ export type Tag = { /** Tag name */ name: Scalars['String']['output']; /** SHA of the tagged commit */ sha: Scalars['CommitSHA']['output']; /** Link to tag in remote Git repo */ url: Scalars['String']['output']; }; /** Additional audit data in tree format */ export type Tree = BasicTree | CoverageTree; /** Individual tree from reports comparison */ export type TreeComparison = { /** Tree from new report (unless status is Removed) */ after?: Maybe; /** Tree from old report (unless status is Added) */ before?: Maybe; /** Comparison status */ status: TreeComparisonStatus; }; /** Filters for trees from reports comparison */ export type TreeComparisonFilters = { /** Only trees matching this status will be fetched */ status?: InputMaybe; }; /** Status of tree compared between reports */ export declare enum TreeComparisonStatus { /** Tree is present in new report, but not old report */ Added = "Added", /** Tree nodes are changed */ Changed = "Changed", /** Tree is present in old report, but not new report */ Removed = "Removed", /** Tree nodes are unchanged */ Unchanged = "Unchanged" } /** Number of trees with given status */ export type TreeStatusCount = { /** Number of trees */ count: Scalars['Int']['output']; /** Status */ status: TreeComparisonStatus; }; /** Type of tree */ export declare enum TreeType { /** Generic */ Basic = "Basic", /** Coverage */ Coverage = "Coverage" } /** Full comparison of trees between reports */ export type TreesComparison = { /** Comparing tree counts between reports */ stats: TreesComparisonStats; /** Trees with given status */ trees: Array; }; /** Full comparison of trees between reports */ export type TreesComparisonTreesArgs = { where?: InputMaybe; }; /** Basic stats for comparing trees between reports */ export type TreesComparisonStats = { /** Number of trees which are changed, unchanged, etc. */ countsPerStatus: Array; /** Difference between total counts */ totalChange: Scalars['Int']['output']; }; /** Line range in source file with missing coverage (optionally referring to a specific function/class/etc.) */ export type UncoveredLoc = { /** Column on line where issue ends (columns numbered from 1) */ endColumn?: Maybe; /** Line in file where issue ends (lines numbered from 1) */ endLine?: Maybe; /** Type of entity in code (function, class, etc.) */ kind?: Maybe; /** Identifier of function, class, etc. */ name?: Maybe; /** Git repo */ repository: Repository; /** Column on line where issue starts (columns numbered from 1) */ startColumn?: Maybe; /** Line in file where issue starts (lines numbered from 1) */ startLine: Scalars['Int']['output']; /** Web link to source file (with highlighted lines) in remote Git repo */ webUrl: Scalars['String']['output']; }; /** Portal user */ export type User = Node & { /** Organizations where user is blocked */ blockedFromOrganizations: Array; /** Projects where user is blocked */ blockedFromProjects: Array; /** User email */ email: Scalars['Email']['output']; /** User ID */ id: Scalars['ID']['output']; /** When user last logged in */ lastSignIn?: Maybe; /** Roles assigned to user */ roles: Array; }; /** Portal user */ export type UserBlockedFromOrganizationsArgs = { organization?: InputMaybe; }; /** Portal user */ export type UserBlockedFromProjectsArgs = { organization?: InputMaybe; }; /** Portal user */ export type UserRolesArgs = { organization?: InputMaybe; }; /** Role assigned to user */ export type UserRole = GlobalUserRole | OrganizationUserRole | ProjectUserRole; /** Type of user roles */ export declare enum UserRoleType { /** All users with any roles */ All = "All", /** Users with global roles */ Global = "Global", /** Users with local roles */ Local = "Local" } /** Tokens created for signed-in user */ export type UserTokens = { /** Access token */ accessToken: Scalars['String']['output']; /** Refresh token */ refreshToken: Scalars['String']['output']; }; export type SaveReportMutationVariables = Exact<{ organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; commit: Scalars['CommitSHA']['input']; plugins: Array | PluginReport; categories: Array | CategoryConfig; packageName?: InputMaybe; packageVersion?: InputMaybe; commandStartDate?: InputMaybe; commandDuration?: InputMaybe; }>; export type SaveReportMutation = { saveReport: { url: string; }; }; export type ReportComparisonUrlQueryVariables = Exact<{ organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; before: Scalars['String']['input']; after: Scalars['String']['input']; }>; export type ReportComparisonUrlQuery = { project?: { reportComparison?: { url: string; } | null; } | null; }; export type ReportByCommitQueryVariables = Exact<{ organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; commit: Scalars['CommitSHA']['input']; withAuditDetails?: InputMaybe; }>; export type ReportByCommitQuery = { report?: { packageName?: string | null; packageVersion?: string | null; commandStartDate?: string | null; commandDuration?: number | null; commit: { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; categories: Array<{ slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }>; plugins: Array<{ slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }>; issues?: { edges: Array<{ node: { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; }>; }; } | null; }; export type LatestReportQueryVariables = Exact<{ organization: Scalars['Slug']['input']; project: Scalars['Slug']['input']; withAuditDetails?: InputMaybe; maxCommits?: InputMaybe; }>; export type LatestReportQuery = { project?: { latestReport?: { packageName?: string | null; packageVersion?: string | null; commandStartDate?: string | null; commandDuration?: number | null; commit: { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; categories: Array<{ slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }>; plugins: Array<{ slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }>; issues?: { edges: Array<{ node: { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; }>; }; } | null; } | null; }; export type ProjectsQueryVariables = Exact<{ organization?: InputMaybe; withLatestReport?: InputMaybe; withAuditDetails?: InputMaybe; maxCommits?: InputMaybe; }>; export type ProjectsQuery = { projects: Array<{ slug: string; friendlyName?: string | null; organization: { slug: string; friendlyName?: string | null; }; repository: { __typename: 'GitHubRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; } | { __typename: 'GitLabRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; }; latestReport?: { packageName?: string | null; packageVersion?: string | null; commandStartDate?: string | null; commandDuration?: number | null; commit: { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; categories: Array<{ slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }>; plugins: Array<{ slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }>; issues?: { edges: Array<{ node: { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; }>; }; } | null; }>; }; export type ProjectFragment = { slug: string; friendlyName?: string | null; organization: { slug: string; friendlyName?: string | null; }; repository: { __typename: 'GitHubRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; } | { __typename: 'GitLabRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; }; latestReport?: { packageName?: string | null; packageVersion?: string | null; commandStartDate?: string | null; commandDuration?: number | null; commit: { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; categories: Array<{ slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }>; plugins: Array<{ slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }>; issues?: { edges: Array<{ node: { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; }>; }; } | null; }; type Repository_GitHubRepository_Fragment = { __typename: 'GitHubRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; }; type Repository_GitLabRepository_Fragment = { __typename: 'GitLabRepository'; owner: string; repo: string; contents?: { url: string; defaultBranch: { name: string; }; } | null; }; export type RepositoryFragment = Repository_GitHubRepository_Fragment | Repository_GitLabRepository_Fragment; export type ReportUrlFragment = { url: string; }; export type ReportComparisonUrlFragment = { url: string; }; export type ReportFragment = { packageName?: string | null; packageVersion?: string | null; commandStartDate?: string | null; commandDuration?: number | null; commit: { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; categories: Array<{ slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }>; plugins: Array<{ slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }>; issues?: { edges: Array<{ node: { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; }>; }; }; export type CommitFragment = { sha: string; message: string; date?: string | null; author?: { name: string; email: string; } | null; }; export type CategoryFragment = { slug: string; title: string; description?: string | null; score: number; scoreTarget?: number | null; refs: Array<{ weight: number; target: { __typename: 'Audit'; slug: string; plugin: { slug: string; }; } | { __typename: 'Group'; slug: string; plugin: { slug: string; }; }; }>; }; export type AuditFragment = { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; export type GroupFragment = { slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }; export type PluginFragment = { slug: string; title: string; description?: string | null; docsUrl?: string | null; icon: MaterialIcon; packageName?: string | null; packageVersion?: string | null; runnerStartDate?: string | null; runnerDuration?: number | null; audits: { edges: Array<{ node: { slug: string; title: string; description?: string | null; docsUrl?: string | null; score: number; value: number; formattedValue?: string | null; details?: { enabled: boolean; tables: Array<{ title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }>; trees: Array<{ __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; } | { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }>; } | null; }; }>; }; groups: Array<{ slug: string; title: string; description?: string | null; score: number; refs: Array<{ weight: number; target: { slug: string; }; }>; }>; }; export type AuditRefFragment = { slug: string; plugin: { slug: string; }; }; export type GroupRefFragment = { slug: string; plugin: { slug: string; }; }; export type IssueFragment = { message: string; severity: IssueSeverity; audit: { slug: string; plugin: { slug: string; }; }; source?: { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; } | { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; } | null; }; type IssueSource_SourceCodeLocation_Fragment = { __typename: 'SourceCodeLocation'; filePath: string; startLine?: number | null; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }; type IssueSource_SourceUrlLocation_Fragment = { __typename: 'SourceUrlLocation'; url: string; snippet?: string | null; selector?: string | null; }; export type IssueSourceFragment = IssueSource_SourceCodeLocation_Fragment | IssueSource_SourceUrlLocation_Fragment; export type TableFragment = { title?: string | null; header?: Array<{ content: string; alignment: TableAlignment; }> | null; body: Array>; }; type Tree_BasicTree_Fragment = { __typename: 'BasicTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; }; type Tree_CoverageTree_Fragment = { __typename: 'CoverageTree'; title?: string | null; root: { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; }; export type TreeFragment = Tree_BasicTree_Fragment | Tree_CoverageTree_Fragment; export type BasicTreeNodeDataFragment = { name: string; customValues?: Array<{ key: string; value: string; }> | null; }; export type CoverageTreeNodeDataFragment = { name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; export type UncoveredLocFragment = { kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }; export type BasicTreeRootFragment = { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }> | null; customValues?: Array<{ key: string; value: string; }> | null; }; export type CoverageTreeRootFragment = { name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; children?: Array<{ name: string; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }> | null; values: { coverage: number; missing?: Array<{ kind?: string | null; name?: string | null; startLine: number; startColumn?: number | null; endLine?: number | null; endColumn?: number | null; }> | null; }; }; export declare const RepositoryFragmentDoc: import("graphql").DocumentNode; export declare const CommitFragmentDoc: import("graphql").DocumentNode; export declare const AuditRefFragmentDoc: import("graphql").DocumentNode; export declare const GroupRefFragmentDoc: import("graphql").DocumentNode; export declare const CategoryFragmentDoc: import("graphql").DocumentNode; export declare const TableFragmentDoc: import("graphql").DocumentNode; export declare const BasicTreeNodeDataFragmentDoc: import("graphql").DocumentNode; export declare const BasicTreeRootFragmentDoc: import("graphql").DocumentNode; export declare const UncoveredLocFragmentDoc: import("graphql").DocumentNode; export declare const CoverageTreeNodeDataFragmentDoc: import("graphql").DocumentNode; export declare const CoverageTreeRootFragmentDoc: import("graphql").DocumentNode; export declare const TreeFragmentDoc: import("graphql").DocumentNode; export declare const AuditFragmentDoc: import("graphql").DocumentNode; export declare const GroupFragmentDoc: import("graphql").DocumentNode; export declare const PluginFragmentDoc: import("graphql").DocumentNode; export declare const IssueSourceFragmentDoc: import("graphql").DocumentNode; export declare const IssueFragmentDoc: import("graphql").DocumentNode; export declare const ReportFragmentDoc: import("graphql").DocumentNode; export declare const ProjectFragmentDoc: import("graphql").DocumentNode; export declare const ReportUrlFragmentDoc: import("graphql").DocumentNode; export declare const ReportComparisonUrlFragmentDoc: import("graphql").DocumentNode; export declare const SaveReportDocument: import("graphql").DocumentNode; export declare const ReportComparisonUrlDocument: import("graphql").DocumentNode; export declare const ReportByCommitDocument: import("graphql").DocumentNode; export declare const LatestReportDocument: import("graphql").DocumentNode; export declare const ProjectsDocument: import("graphql").DocumentNode; export type SdkFunctionWrapper = (action: (requestHeaders?: Record) => Promise, operationName: string, operationType?: string, variables?: any) => Promise; export declare function getSdk(client: GraphQLClient, withWrapper?: SdkFunctionWrapper): { saveReport(variables: SaveReportMutationVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise; reportComparisonUrl(variables: ReportComparisonUrlQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise; reportByCommit(variables: ReportByCommitQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise; latestReport(variables: LatestReportQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise; projects(variables?: ProjectsQueryVariables, requestHeaders?: GraphQLClientRequestHeaders, signal?: RequestInit["signal"]): Promise; }; export type Sdk = ReturnType; export {};