UNPKG

@saucelabs/visual

Version:

JS client bindings for Sauce Labs Visual

1,268 lines (1,267 loc) 101 kB
import * as arktype_dist_types_scopes_type from 'arktype/dist/types/scopes/type'; import { Type } from 'arktype'; import { TypedDocumentNode } from '@graphql-typed-document-node/core'; import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core/index.js'; type Maybe<T> = T | null; type InputMaybe<T> = Maybe<T>; type Exact<T extends { [key: string]: unknown; }> = { [K in keyof T]: T[K]; }; type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]>; }; type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]>; }; /** All built-in and custom scalars, mapped to their actual values */ type Scalars = { ID: string; String: string; Boolean: boolean; Int: number; Float: number; /** A location in a connection that can be used for resuming pagination. */ Cursor: any; /** * A point in time as described by the [ISO * 8601](https://en.wikipedia.org/wiki/ISO_8601) standard. May or may not include a timezone. */ Datetime: Date | string | number; FullText: any; /** The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf). */ JSON: any; /** A universally unique identifier as defined by [RFC 4122](https://tools.ietf.org/html/rfc4122). */ UUID: string; Void: any; WebdriverElementID: string; WebdriverSessionBlob: string; }; type AddCommentIn = { action?: InputMaybe<CommentAction>; comment: Scalars['String']; diffId: Scalars['UUID']; }; type ApplicationSummary = { __typename?: 'ApplicationSummary'; id: Scalars['String']; name: Scalars['String']; version: Scalars['String']; }; type ApproveBuildIn = { id?: InputMaybe<Scalars['UUID']>; onlyNew?: InputMaybe<Scalars['Boolean']>; /** @deprecated Use `id`. This field will be removed in a future update. */ uuid?: InputMaybe<Scalars['UUID']>; }; /** * A `Baseline` is what a `Snapshot` is compared to. * * For details see https://docs.saucelabs.com/visual-testing/sauce-visual/index.html#baseline-matching */ type Baseline = Node & { __typename?: 'Baseline'; appId: Maybe<Scalars['String']>; appName: Maybe<Scalars['String']>; appVersion: Maybe<Scalars['String']>; branch: Maybe<Scalars['String']>; browser: Browser; browserVersion: Maybe<Scalars['String']>; /** Reads and enables pagination through a set of `Baseline`. */ childBaselines: BaselinesConnection; createdAt: Scalars['Datetime']; createdByOrgId: Scalars['UUID']; createdByUser: User; createdByUserId: Scalars['UUID']; device: Maybe<Scalars['String']>; devicePixelRatio: Maybe<Scalars['Float']>; /** Reads and enables pagination through a set of `Diff`. */ diffs: DiffsConnection; domFormat: DomFormat; hasDom: Scalars['Boolean']; height: Maybe<Scalars['Int']>; id: Scalars['UUID']; ignoreRegions: Array<Maybe<Region>>; imageUrl: Scalars['String']; isLatest: Scalars['Boolean']; latest: Baseline; metadata: Maybe<Scalars['JSON']>; name: Scalars['String']; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; operatingSystem: OperatingSystem; operatingSystemVersion: Maybe<Scalars['String']>; /** Reads a single `Baseline` that is related to this `Baseline`. */ parent: Maybe<Baseline>; parentId: Maybe<Scalars['UUID']>; project: Maybe<Scalars['String']>; /** Reads a single `Snapshot` that is related to this `Baseline`. */ snapshot: Maybe<Snapshot>; snapshotId: Maybe<Scalars['UUID']>; suiteName: Maybe<Scalars['String']>; testName: Maybe<Scalars['String']>; thumbnailUrl: Scalars['String']; uiIgnoreRegions: Array<Maybe<Region>>; uploadId: Scalars['String']; userAgent: Maybe<Scalars['String']>; viewportHeight: Maybe<Scalars['Int']>; viewportWidth: Maybe<Scalars['Int']>; width: Maybe<Scalars['Int']>; }; /** * A `Baseline` is what a `Snapshot` is compared to. * * For details see https://docs.saucelabs.com/visual-testing/sauce-visual/index.html#baseline-matching */ type BaselineChildBaselinesArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<BaselineCondition>; filter: InputMaybe<BaselineFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<BaselinesOrderBy>>; }; /** * A `Baseline` is what a `Snapshot` is compared to. * * For details see https://docs.saucelabs.com/visual-testing/sauce-visual/index.html#baseline-matching */ type BaselineDiffsArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<DiffCondition>; filter: InputMaybe<DiffFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<DiffsOrderBy>>; }; /** * A condition to be used against `Baseline` object types. All fields are tested * for equality and combined with a logical ‘and.’ */ type BaselineCondition = { /** Checks for equality with the object’s `branch` field. */ branch?: InputMaybe<Scalars['String']>; /** Checks for equality with the object’s `createdAt` field. */ createdAt?: InputMaybe<Scalars['Datetime']>; /** Checks for equality with the object’s `createdByOrgId` field. */ createdByOrgId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `createdByUserId` field. */ createdByUserId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `id` field. */ id?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `parentId` field. */ parentId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `project` field. */ project?: InputMaybe<Scalars['String']>; /** Checks for equality with the object’s `snapshotId` field. */ snapshotId?: InputMaybe<Scalars['UUID']>; }; /** A filter to be used against `Baseline` object types. All fields are combined with a logical ‘and.’ */ type BaselineFilter = { /** Filter by the object’s `branch` field. */ branch?: InputMaybe<StringFilter>; /** Filter by the object’s `createdAt` field. */ createdAt?: InputMaybe<DatetimeFilter>; /** Filter by the object’s `createdByOrgId` field. */ createdByOrgId?: InputMaybe<UuidFilter>; /** Filter by the object’s `createdByUserId` field. */ createdByUserId?: InputMaybe<UuidFilter>; /** Filter by the object’s `id` field. */ id?: InputMaybe<UuidFilter>; /** Filter by the object’s `parentId` field. */ parentId?: InputMaybe<UuidFilter>; /** Filter by the object’s `project` field. */ project?: InputMaybe<StringFilter>; /** Filter by the object’s `snapshotId` field. */ snapshotId?: InputMaybe<UuidFilter>; }; /** One or more values from 'SnapshotIn' we should use as an override when finding a baseline. */ type BaselineOverrideIn = { browser?: InputMaybe<Browser>; browserVersion?: InputMaybe<Scalars['String']>; device?: InputMaybe<Scalars['String']>; name?: InputMaybe<Scalars['String']>; operatingSystem?: InputMaybe<OperatingSystem>; operatingSystemVersion?: InputMaybe<Scalars['String']>; suiteName?: InputMaybe<Scalars['String']>; testName?: InputMaybe<Scalars['String']>; }; /** A connection to a list of `Baseline` values. */ type BaselinesConnection = { __typename?: 'BaselinesConnection'; /** A list of edges which contains the `Baseline` and cursor to aid in pagination. */ edges: Array<BaselinesEdge>; /** A list of `Baseline` objects. */ nodes: Array<Baseline>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Baseline` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `Baseline` edge in the connection. */ type BaselinesEdge = { __typename?: 'BaselinesEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `Baseline` at the end of the edge. */ node: Baseline; }; /** Methods to use when ordering `Baseline`. */ declare enum BaselinesOrderBy { BranchAsc = "BRANCH_ASC", BranchDesc = "BRANCH_DESC", CreatedAtAsc = "CREATED_AT_ASC", CreatedAtDesc = "CREATED_AT_DESC", CreatedByOrgIdAsc = "CREATED_BY_ORG_ID_ASC", CreatedByOrgIdDesc = "CREATED_BY_ORG_ID_DESC", CreatedByUserIdAsc = "CREATED_BY_USER_ID_ASC", CreatedByUserIdDesc = "CREATED_BY_USER_ID_DESC", IdAsc = "ID_ASC", IdDesc = "ID_DESC", Natural = "NATURAL", ParentIdAsc = "PARENT_ID_ASC", ParentIdDesc = "PARENT_ID_DESC", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC", ProjectAsc = "PROJECT_ASC", ProjectDesc = "PROJECT_DESC", SnapshotIdAsc = "SNAPSHOT_ID_ASC", SnapshotIdDesc = "SNAPSHOT_ID_DESC" } type Branch = Node & { __typename?: 'Branch'; baselines: BaselinesConnection; /** Returns the differents values availables for attributes. */ distinctAttributeValues: DistinctAttributeValues; id: Scalars['String']; lastUsed: Scalars['Datetime']; name: Maybe<Scalars['String']>; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; /** Reads a single `Project` that is related to this `Branch`. */ project: Maybe<Project>; projectId: Scalars['String']; }; type BranchBaselinesArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<BaselineCondition>; filter: InputMaybe<BaselineFilter>; filters: InputMaybe<SnapshotFiltersIn>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<BaselinesOrderBy>>; }; /** A connection to a list of `Branch` values. */ type BranchesConnection = { __typename?: 'BranchesConnection'; /** A list of edges which contains the `Branch` and cursor to aid in pagination. */ edges: Array<BranchesEdge>; /** A list of `Branch` objects. */ nodes: Array<Branch>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Branch` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `Branch` edge in the connection. */ type BranchesEdge = { __typename?: 'BranchesEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `Branch` at the end of the edge. */ node: Branch; }; /** Methods to use when ordering `Branch`. */ declare enum BranchesOrderBy { Natural = "NATURAL", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC" } declare enum Browser { Chrome = "CHROME", Edge = "EDGE", Firefox = "FIREFOX", None = "NONE", PlaywrightWebkit = "PLAYWRIGHT_WEBKIT", Safari = "SAFARI" } /** The result of diffing a `Baseline` with a `Snapshot`. */ type Build = Node & { __typename?: 'Build'; branch: Maybe<Scalars['String']>; commentCount: Maybe<Scalars['Int']>; createdAt: Scalars['Datetime']; createdByOrgId: Scalars['UUID']; createdByUser: User; createdByUserId: Scalars['UUID']; /** * User provided id for a build. * * Use `buildByCustomId` to look up a build by its `customId`. * * Properties: * - up to 64 bytes (try to stick to ASCII characters) * - in case of colissions, the latest build is returned * - collissions may hurt query performance * * Recommendations: * - generate the id from the CI pipeline link by applying a hashing function * - prefix/postfix the id with a team id to avoid collisions with other teams, e.g. `sha512(teamId + ':' + url)` */ customId: Maybe<Scalars['String']>; defaultBranch: Maybe<Scalars['String']>; /** @deprecated Use diffCountExtended. This will be removed by 2024-02-11. */ diffCount: Scalars['Int']; /** * Returns the number of diffs in a build that have a specific status. * * E.g. to get the number of "new" snapshots use `{ status: UNAPPROVED, withBaseline: false}` */ diffCountExtended: Scalars['Int']; /** Reads and enables pagination through a set of `Diff`. */ diffs: DiffsConnection; diffsPaginated: DiffsConnection; /** Returns the differents values availables for attributes. */ distinctAttributeValues: DistinctAttributeValues; /** * If not null, it indicates that the build encountered an error. * * By convention, the following errors exist: * - `{"code": "TIMEOUT"}`: The build timed out, because `finishBuild` was not called. * - `{"code": "DIFF_TIMEOUT"}`: At least one diff could not be computed within the time limit. * * Other error types may exist and the frontend should display a generic error message * together with the JSON contents of `error`. */ error: Maybe<Scalars['JSON']>; finishAfter: Maybe<Scalars['Datetime']>; /** Full-text search ranking when filtered by `fullText`. */ fullTextRank: Maybe<Scalars['Float']>; id: Scalars['UUID']; keepAliveTimeout: Maybe<Scalars['Int']>; mode: BuildMode; name: Scalars['String']; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; openSessions: Maybe<Scalars['Int']>; owningTeamId: Scalars['UUID']; project: Maybe<Scalars['String']>; /** Reads and enables pagination through a set of `Snapshot`. */ snapshots: SnapshotsConnection; status: BuildStatus; url: Scalars['String']; }; /** The result of diffing a `Baseline` with a `Snapshot`. */ type BuildDiffCountArgs = { status: DiffStatus; }; /** The result of diffing a `Baseline` with a `Snapshot`. */ type BuildDiffCountExtendedArgs = { input: DiffCountIn; }; /** The result of diffing a `Baseline` with a `Snapshot`. */ type BuildDiffsArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<DiffCondition>; filter: InputMaybe<DiffFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<DiffsOrderBy>>; }; /** The result of diffing a `Baseline` with a `Snapshot`. */ type BuildDiffsPaginatedArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<DiffCondition>; filter: InputMaybe<DiffFilter>; filters: InputMaybe<DiffFiltersIn>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<DiffsOrderBy>>; }; /** The result of diffing a `Baseline` with a `Snapshot`. */ type BuildSnapshotsArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<SnapshotCondition>; filter: InputMaybe<SnapshotFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<SnapshotsOrderBy>>; }; /** A condition to be used against `Build` object types. All fields are tested for equality and combined with a logical ‘and.’ */ type BuildCondition = { /** Checks for equality with the object’s `branch` field. */ branch?: InputMaybe<Scalars['String']>; /** Checks for equality with the object’s `createdAt` field. */ createdAt?: InputMaybe<Scalars['Datetime']>; /** Checks for equality with the object’s `createdByOrgId` field. */ createdByOrgId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `createdByUserId` field. */ createdByUserId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `fullText` field. */ fullText?: InputMaybe<Scalars['FullText']>; /** Checks for equality with the object’s `id` field. */ id?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `owningTeamId` field. */ owningTeamId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `project` field. */ project?: InputMaybe<Scalars['String']>; /** Checks for equality with the object’s `status` field. */ status?: InputMaybe<BuildStatus>; }; /** A filter to be used against `Build` object types. All fields are combined with a logical ‘and.’ */ type BuildFilter = { /** Filter by the object’s `branch` field. */ branch?: InputMaybe<StringFilter>; /** Filter by the object’s `createdAt` field. */ createdAt?: InputMaybe<DatetimeFilter>; /** Filter by the object’s `createdByOrgId` field. */ createdByOrgId?: InputMaybe<UuidFilter>; /** Filter by the object’s `createdByUserId` field. */ createdByUserId?: InputMaybe<UuidFilter>; /** Filter by the object’s `fullText` field. */ fullText?: InputMaybe<FullTextFilter>; /** Filter by the object’s `id` field. */ id?: InputMaybe<UuidFilter>; /** Filter by the object’s `owningTeamId` field. */ owningTeamId?: InputMaybe<UuidFilter>; /** Filter by the object’s `project` field. */ project?: InputMaybe<StringFilter>; /** Filter by the object’s `status` field. */ status?: InputMaybe<BuildStatusFilter>; }; type BuildIn = { branch?: InputMaybe<Scalars['String']>; customId?: InputMaybe<Scalars['String']>; defaultBranch?: InputMaybe<Scalars['String']>; /** * A positive integer that is the time in seconds that the Build is allowed to be in the RUNNING state after the last snapshot was created or updated. * The number clipped to the interval [1;86400]. */ keepAliveTimeout?: InputMaybe<Scalars['Int']>; name?: InputMaybe<Scalars['String']>; project?: InputMaybe<Scalars['String']>; }; declare enum BuildMode { Completed = "COMPLETED", Running = "RUNNING" } /** * Lifecycle status of a `Build`. * * 1. A new `Build` is always in `RUNNING` state. * 2. When the `finishBuild` mutation was called, its state is as follows: * - `ERRORED` if build.error is not null or else * - `EMPTY` if there are no Diffs in the Build or else * - `RUNNING` if any Diff in the Build is QUEUED or else * - `ERRORED` if any Diff in the Build is ERRORED or else * - `UNAPPROVED` if any Diff in the Build is UNAPPROVED or else * - `REJECTED` if any Diff in the Build is REJECTED or else * - `APPROVED` if any Diff in the Build is APPROVED and * - `EQUAL` in any other case * * When `finishBuild` is not called, the build will time out and end up in the `ERRORED` state. */ declare enum BuildStatus { Approved = "APPROVED", Empty = "EMPTY", Equal = "EQUAL", Errored = "ERRORED", Queued = "QUEUED", Rejected = "REJECTED", Running = "RUNNING", Unapproved = "UNAPPROVED" } /** A filter to be used against BuildStatus fields. All fields are combined with a logical ‘and.’ */ type BuildStatusFilter = { /** Greater than the specified value. */ greaterThan?: InputMaybe<BuildStatus>; /** Greater than or equal to the specified value. */ greaterThanOrEqualTo?: InputMaybe<BuildStatus>; /** Included in the specified list. */ in?: InputMaybe<Array<BuildStatus>>; /** Is null (if `true` is specified) or is not null (if `false` is specified). */ isNull?: InputMaybe<Scalars['Boolean']>; /** Less than the specified value. */ lessThan?: InputMaybe<BuildStatus>; /** Less than or equal to the specified value. */ lessThanOrEqualTo?: InputMaybe<BuildStatus>; }; /** A connection to a list of `Build` values. */ type BuildsConnection = { __typename?: 'BuildsConnection'; /** A list of edges which contains the `Build` and cursor to aid in pagination. */ edges: Array<BuildsEdge>; /** A list of `Build` objects. */ nodes: Array<Build>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Build` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `Build` edge in the connection. */ type BuildsEdge = { __typename?: 'BuildsEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `Build` at the end of the edge. */ node: Build; }; /** Methods to use when ordering `Build`. */ declare enum BuildsOrderBy { BranchAsc = "BRANCH_ASC", BranchDesc = "BRANCH_DESC", CreatedAtAsc = "CREATED_AT_ASC", CreatedAtDesc = "CREATED_AT_DESC", CreatedByOrgIdAsc = "CREATED_BY_ORG_ID_ASC", CreatedByOrgIdAscCustomIdAsc = "CREATED_BY_ORG_ID_ASC__CUSTOM_ID_ASC", CreatedByOrgIdDesc = "CREATED_BY_ORG_ID_DESC", CreatedByOrgIdDescCustomIdDesc = "CREATED_BY_ORG_ID_DESC__CUSTOM_ID_DESC", CreatedByUserIdAsc = "CREATED_BY_USER_ID_ASC", CreatedByUserIdDesc = "CREATED_BY_USER_ID_DESC", IdAsc = "ID_ASC", IdDesc = "ID_DESC", Natural = "NATURAL", OwningTeamIdAsc = "OWNING_TEAM_ID_ASC", OwningTeamIdDesc = "OWNING_TEAM_ID_DESC", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC", ProjectAsc = "PROJECT_ASC", ProjectDesc = "PROJECT_DESC", StatusAsc = "STATUS_ASC", StatusDesc = "STATUS_DESC" } type Comment = Node & { __typename?: 'Comment'; action: Maybe<CommentAction>; comment: Scalars['String']; createdAt: Scalars['Datetime']; createdByOrgId: Scalars['UUID']; createdByUser: User; createdByUserId: Scalars['UUID']; /** Reads a single `Diff` that is related to this `Comment`. */ diff: Maybe<Diff>; diffId: Scalars['UUID']; id: Scalars['UUID']; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; updatedAt: Maybe<Scalars['Datetime']>; }; declare enum CommentAction { Approved = "APPROVED", Rejected = "REJECTED", Unapproved = "UNAPPROVED", Unrejected = "UNREJECTED" } /** A condition to be used against `Comment` object types. All fields are tested for equality and combined with a logical ‘and.’ */ type CommentCondition = { /** Checks for equality with the object’s `createdAt` field. */ createdAt?: InputMaybe<Scalars['Datetime']>; /** Checks for equality with the object’s `diffId` field. */ diffId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `id` field. */ id?: InputMaybe<Scalars['UUID']>; }; /** A filter to be used against `Comment` object types. All fields are combined with a logical ‘and.’ */ type CommentFilter = { /** Filter by the object’s `createdAt` field. */ createdAt?: InputMaybe<DatetimeFilter>; /** Filter by the object’s `diffId` field. */ diffId?: InputMaybe<UuidFilter>; /** Filter by the object’s `id` field. */ id?: InputMaybe<UuidFilter>; }; /** A connection to a list of `Comment` values. */ type CommentsConnection = { __typename?: 'CommentsConnection'; /** A list of edges which contains the `Comment` and cursor to aid in pagination. */ edges: Array<CommentsEdge>; /** A list of `Comment` objects. */ nodes: Array<Comment>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Comment` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `Comment` edge in the connection. */ type CommentsEdge = { __typename?: 'CommentsEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `Comment` at the end of the edge. */ node: Comment; }; /** Methods to use when ordering `Comment`. */ declare enum CommentsOrderBy { CreatedAtAsc = "CREATED_AT_ASC", CreatedAtDesc = "CREATED_AT_DESC", DiffIdAsc = "DIFF_ID_ASC", DiffIdDesc = "DIFF_ID_DESC", IdAsc = "ID_ASC", IdDesc = "ID_DESC", Natural = "NATURAL", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC" } type CreateDerivedBaselinesIn = { baselineIds: Array<Scalars['UUID']>; onlyApplyIfIsLatest?: InputMaybe<Scalars['Boolean']>; uiIgnoreRegions?: InputMaybe<Array<RegionIn>>; }; type CreateSnapshotFromWebDriverIn = { /** * One or more overrides for locating the matching baseline. Can be used for cross browser / OS * visual testing. */ baselineOverride?: InputMaybe<BaselineOverrideIn>; buildId?: InputMaybe<Scalars['UUID']>; /** @deprecated Use `buildId`. This field will be removed in a future update. */ buildUuid?: InputMaybe<Scalars['UUID']>; captureDom?: InputMaybe<Scalars['Boolean']>; /** The selenium ID of an element we should clip the screen to. */ clipElement?: InputMaybe<Scalars['WebdriverElementID']>; /** @deprecated(reason: "clipElement should be used instead.") */ clipSelector?: InputMaybe<Scalars['String']>; diffingMethod?: InputMaybe<DiffingMethod>; diffingOptions?: InputMaybe<DiffingOptionsIn>; /** Enable full page screenshot using scroll-and-stitch strategy. */ fullPageConfig?: InputMaybe<FullPageConfigIn>; /** Hide all scrollbars in the app. */ hideScrollBars?: InputMaybe<Scalars['Boolean']>; ignoreElements?: InputMaybe<Array<ElementIn>>; ignoreRegions?: InputMaybe<Array<RegionIn>>; ignoreSelectors?: InputMaybe<Array<IgnoreSelectorIn>>; /** This will be mandatory in the future. */ jobId?: InputMaybe<Scalars['String']>; name: Scalars['String']; sessionId: Scalars['ID']; /** Pass the `blob` field from the `webdriverSessionInfo` query here. */ sessionMetadata: Scalars['WebdriverSessionBlob']; suiteName?: InputMaybe<Scalars['String']>; testName?: InputMaybe<Scalars['String']>; }; /** A filter to be used against Datetime fields. All fields are combined with a logical ‘and.’ */ type DatetimeFilter = { /** Greater than the specified value. */ greaterThan?: InputMaybe<Scalars['Datetime']>; /** Greater than or equal to the specified value. */ greaterThanOrEqualTo?: InputMaybe<Scalars['Datetime']>; /** Included in the specified list. */ in?: InputMaybe<Array<Scalars['Datetime']>>; /** Is null (if `true` is specified) or is not null (if `false` is specified). */ isNull?: InputMaybe<Scalars['Boolean']>; /** Less than the specified value. */ lessThan?: InputMaybe<Scalars['Datetime']>; /** Less than or equal to the specified value. */ lessThanOrEqualTo?: InputMaybe<Scalars['Datetime']>; }; type DeleteCommentIn = { id: Scalars['UUID']; }; /** * The result of diffing a `Baseline` with a `Snapshot`. * * See the documentation for `Baseline` for details how a `Snapshot` is matched to `Baseline`. */ type Diff = Node & { __typename?: 'Diff'; /** @deprecated Experimental. May be removed at any time. */ altDomDiffUrl: Maybe<Scalars['String']>; /** Reads a single `Baseline` that is related to this `Diff`. */ baseline: Maybe<Baseline>; baselineId: Maybe<Scalars['UUID']>; /** Reads a single `Build` that is related to this `Diff`. */ build: Maybe<Build>; buildId: Scalars['UUID']; /** Reads and enables pagination through a set of `Comment`. */ comments: CommentsConnection; createdAt: Scalars['Datetime']; diffBounds: Maybe<Rect>; diffClusters: Array<Maybe<Rect>>; diffingMethod: DiffingMethod; /** snapshot { uploadId } should be requested at the same moment */ domDiffUrl: Maybe<Scalars['String']>; feedback: DiffFeedback; hasDom: Scalars['Boolean']; id: Scalars['UUID']; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; options: Maybe<DiffingOption>; preview: Array<Rect>; /** Reads a single `Snapshot` that is related to this `Diff`. */ snapshot: Maybe<Snapshot>; snapshotId: Scalars['UUID']; status: DiffStatus; statusIsEqual: Maybe<Scalars['Boolean']>; /** * Last time the diff was updated. * * By default `updatedAt = createdAt`. */ updatedAt: Scalars['Datetime']; /** User id of user that last updated the diff. If no user updated the status yet, it is set to `created_by`. */ updatedBy: Scalars['UUID']; updatedByUser: User; }; /** * The result of diffing a `Baseline` with a `Snapshot`. * * See the documentation for `Baseline` for details how a `Snapshot` is matched to `Baseline`. */ type DiffCommentsArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<CommentCondition>; filter: InputMaybe<CommentFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<CommentsOrderBy>>; }; /** * The result of diffing a `Baseline` with a `Snapshot`. * * See the documentation for `Baseline` for details how a `Snapshot` is matched to `Baseline`. */ type DiffPreviewArgs = { input: DiffPreviewIn; }; /** A condition to be used against `Diff` object types. All fields are tested for equality and combined with a logical ‘and.’ */ type DiffCondition = { /** Checks for equality with the object’s `baselineId` field. */ baselineId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `buildId` field. */ buildId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `createdAt` field. */ createdAt?: InputMaybe<Scalars['Datetime']>; /** Checks for equality with the object’s `id` field. */ id?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `snapshotId` field. */ snapshotId?: InputMaybe<Scalars['UUID']>; /** Checks for equality with the object’s `status` field. */ status?: InputMaybe<DiffStatus>; }; type DiffCountIn = { status: DiffStatus; /** Set to true to only count diffs that have a baseline. */ withBaseline?: InputMaybe<Scalars['Boolean']>; }; type DiffFeedback = { __typename?: 'DiffFeedback'; hasIrrelevantChanges: Scalars['Boolean']; isBroken: Scalars['Boolean']; }; /** A connection to a list of `DiffFeedback` values. */ type DiffFeedbacksConnection = { __typename?: 'DiffFeedbacksConnection'; /** A list of edges which contains the `DiffFeedback` and cursor to aid in pagination. */ edges: Array<DiffFeedbacksEdge>; /** A list of `DiffFeedback` objects. */ nodes: Array<DiffFeedback>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `DiffFeedback` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `DiffFeedback` edge in the connection. */ type DiffFeedbacksEdge = { __typename?: 'DiffFeedbacksEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `DiffFeedback` at the end of the edge. */ node: DiffFeedback; }; /** Methods to use when ordering `DiffFeedback`. */ declare enum DiffFeedbacksOrderBy { Natural = "NATURAL" } /** A filter to be used against `Diff` object types. All fields are combined with a logical ‘and.’ */ type DiffFilter = { /** Filter by the object’s `baselineId` field. */ baselineId?: InputMaybe<UuidFilter>; /** Filter by the object’s `buildId` field. */ buildId?: InputMaybe<UuidFilter>; /** Filter by the object’s `createdAt` field. */ createdAt?: InputMaybe<DatetimeFilter>; /** Filter by the object’s `id` field. */ id?: InputMaybe<UuidFilter>; /** Filter by the object’s `snapshotId` field. */ snapshotId?: InputMaybe<UuidFilter>; /** Filter by the object’s `status` field. */ status?: InputMaybe<DiffStatusFilter>; }; /** Extension of SnapshotFiltersIn. Should contain the same values here in addition to status filters. */ type DiffFiltersIn = { browser?: InputMaybe<Array<Browser>>; device?: InputMaybe<Array<Scalars['String']>>; groupBy?: InputMaybe<Array<GroupByOption>>; operatingSystem?: InputMaybe<Array<OperatingSystemFilterIn>>; search?: InputMaybe<Scalars['String']>; status?: InputMaybe<Array<DiffStatus>>; }; type DiffPreviewIn = { ignoreRegions: Array<RegionIn>; }; /** * Lifecycle status of a `Diff`. * * 1. When a `Diff` is created from a `Snapshot` it will be `QUEUED`. * 2. After the difference between snapshot and baseline was computed, the state is either * `EQUAL` (`Baseline` and snapshot are equal) or * `UNAPPROVED` (differences between `Baseline` and `Snapshot` were detected or no `Baseline` exists). * 3. A user can update the status of an existing `Diff` to either * `APPROVED` (a new `Baseline` is then created from the `Snapshot`) * `REJECTED` (no new `Baseline` is created) * `UNAPPROVED` (if it was approved before, the previous `Baseline` is restored) */ declare enum DiffStatus { Approved = "APPROVED", Equal = "EQUAL", Errored = "ERRORED", Queued = "QUEUED", Rejected = "REJECTED", Unapproved = "UNAPPROVED" } /** A filter to be used against DiffStatus fields. All fields are combined with a logical ‘and.’ */ type DiffStatusFilter = { /** Greater than the specified value. */ greaterThan?: InputMaybe<DiffStatus>; /** Greater than or equal to the specified value. */ greaterThanOrEqualTo?: InputMaybe<DiffStatus>; /** Included in the specified list. */ in?: InputMaybe<Array<DiffStatus>>; /** Is null (if `true` is specified) or is not null (if `false` is specified). */ isNull?: InputMaybe<Scalars['Boolean']>; /** Less than the specified value. */ lessThan?: InputMaybe<DiffStatus>; /** Less than or equal to the specified value. */ lessThanOrEqualTo?: InputMaybe<DiffStatus>; }; /** * Method to use for diffing. * * SIMPLE is the default. * * Note: EXPERIMENTAL is deprecated. Use BALANCED instead. */ declare enum DiffingMethod { Balanced = "BALANCED", Experimental = "EXPERIMENTAL", Simple = "SIMPLE" } type DiffingOption = { __typename?: 'DiffingOption'; content: Maybe<Scalars['Boolean']>; dimensions: Maybe<Scalars['Boolean']>; position: Maybe<Scalars['Boolean']>; structure: Maybe<Scalars['Boolean']>; style: Maybe<Scalars['Boolean']>; visual: Maybe<Scalars['Boolean']>; }; type DiffingOptionsIn = { content?: InputMaybe<Scalars['Boolean']>; dimensions?: InputMaybe<Scalars['Boolean']>; position?: InputMaybe<Scalars['Boolean']>; structure?: InputMaybe<Scalars['Boolean']>; style?: InputMaybe<Scalars['Boolean']>; visual?: InputMaybe<Scalars['Boolean']>; }; /** A connection to a list of `Diff` values. */ type DiffsConnection = { __typename?: 'DiffsConnection'; /** A list of edges which contains the `Diff` and cursor to aid in pagination. */ edges: Array<DiffsEdge>; /** A list of `Diff` objects. */ nodes: Array<Diff>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Diff` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `Diff` edge in the connection. */ type DiffsEdge = { __typename?: 'DiffsEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `Diff` at the end of the edge. */ node: Diff; }; /** Methods to use when ordering `Diff`. */ declare enum DiffsOrderBy { BaselineIdAsc = "BASELINE_ID_ASC", BaselineIdDesc = "BASELINE_ID_DESC", BuildIdAsc = "BUILD_ID_ASC", BuildIdDesc = "BUILD_ID_DESC", CreatedAtAsc = "CREATED_AT_ASC", CreatedAtDesc = "CREATED_AT_DESC", IdAsc = "ID_ASC", IdDesc = "ID_DESC", Natural = "NATURAL", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC", SnapshotIdAsc = "SNAPSHOT_ID_ASC", SnapshotIdDesc = "SNAPSHOT_ID_DESC", StatusAsc = "STATUS_ASC", StatusDesc = "STATUS_DESC", StatusIsEqualAsc = "STATUS_IS_EQUAL_ASC", StatusIsEqualDesc = "STATUS_IS_EQUAL_DESC" } type DistinctAttributeValues = { __typename?: 'DistinctAttributeValues'; browser: Array<Maybe<Browser>>; device: Array<Maybe<Scalars['String']>>; operatingSystem: Array<OperatingSystemAttribute>; suiteName: Array<Maybe<Scalars['String']>>; testName: Array<Maybe<Scalars['String']>>; }; declare enum DomFormat { AndroidAppium = "ANDROID_APPIUM", Browser = "BROWSER", IosAppium = "IOS_APPIUM", None = "NONE" } type ElementIn = { diffingOptions?: InputMaybe<DiffingOptionsIn>; /** The server-assigned ID of an element from webdriver. */ id: Scalars['WebdriverElementID']; name?: InputMaybe<Scalars['String']>; }; type FinishBuildIn = { customId?: InputMaybe<Scalars['String']>; /** Delay the finishing the build for at least the specified number of seconds. */ delay?: InputMaybe<Scalars['Int']>; /** @deprecated Use `uuid`. This field will be removed in a future update. */ id?: InputMaybe<Scalars['ID']>; uuid?: InputMaybe<Scalars['UUID']>; }; type ForceFinishBuildIn = { customId?: InputMaybe<Scalars['String']>; uuid?: InputMaybe<Scalars['UUID']>; }; type FullPageConfigIn = { /** * Delay in ms after scrolling and before taking screenshots. * A slight delay can be helpful if the page is using lazy loading when scrolling */ delayAfterScrollMs?: InputMaybe<Scalars['Int']>; /** Disable CSS animations and the input caret in the app. */ disableCSSAnimation?: InputMaybe<Scalars['Boolean']>; /** @deprecated Use hideElementsAfterFirstScroll instead where available. */ hideAfterFirstScroll?: InputMaybe<Array<InputMaybe<Scalars['String']>>>; /** Hide elements on the page after first scroll using their server-assigned ID from webdriver. */ hideElementsAfterFirstScroll?: InputMaybe<Array<Scalars['WebdriverElementID']>>; /** @deprecated(reason: "use hideScrollBars in CreateSnapshotFromWebDriverIn instead.") */ hideScrollBars?: InputMaybe<Scalars['Boolean']>; /** Selector of an element that we should crop the screenshot to. Available only on native apps. */ nativeClipSelector?: InputMaybe<SelectorIn>; /** @experimental Element used for scrolling (available only in native apps) */ scrollElement?: InputMaybe<Scalars['WebdriverElementID']>; /** * Limit the number of screenshots taken for scrolling and stitching. * Default and max value is 10 */ scrollLimit?: InputMaybe<Scalars['Int']>; /** Change scroll behaviour before and after taking full page screenshot. Available only on native apps. */ scrollOption?: InputMaybe<ScrollOption>; }; /** A filter to be used against FullText fields. All fields are combined with a logical ‘and.’ */ type FullTextFilter = { /** Performs a full text search on the field. */ matches?: InputMaybe<Scalars['String']>; }; declare enum GroupByOption { Browser = "Browser", Device = "Device", OperatingSystemOperatingSystemVersion = "OperatingSystem_OperatingSystemVersion", SuiteName = "SuiteName", TestName = "TestName" } type IgnoreSelectorIn = { diffingOptions?: InputMaybe<DiffingOptionsIn>; name?: InputMaybe<Scalars['String']>; selector: SelectorIn; }; /** All input for the `mergeBaselines` mutation. */ type MergeBaselinesInput = { /** * An arbitrary string value with no semantic meaning. Will be included in the * payload verbatim. May be used to track mutations by the client. */ clientMutationId?: InputMaybe<Scalars['String']>; projectName: Scalars['String']; sourceBranch: Scalars['String']; targetBranch: Scalars['String']; }; /** The output of our `mergeBaselines` mutation. */ type MergeBaselinesPayload = { __typename?: 'MergeBaselinesPayload'; baselines: Maybe<Array<Baseline>>; /** * The exact same `clientMutationId` that was provided in the mutation input, * unchanged and unused. May be used by a client to track mutations. */ clientMutationId: Maybe<Scalars['String']>; /** Our root query field type. Allows us to run any query from our mutation payload. */ query: Maybe<Query>; }; /** The root mutation type which contains root level fields which mutate data. */ type Mutation = { __typename?: 'Mutation'; addComment: Comment; /** @deprecated Use setDiffStatus */ approveBuild: Build; createBuild: Build; /** * Copy a set of baselines specified by `baselineIds` and save it as the latest baseline, but * replace uiIgnoreRegions with the provided value. */ createDerivedBaselines: Array<Baseline>; createSnapshot: Snapshot; createSnapshotFromWebDriver: Snapshot; createSnapshotUpload: SnapshotUpload; deleteComment: Maybe<Scalars['Void']>; finishBuild: Build; forceFinishBuild: Maybe<Build>; mergeBaselines: MergeBaselinesPayload; setDiffFeedback: Diff; setDiffStatus: Array<Diff>; updateComment: Comment; /** @deprecated Use setDiffStatus */ updateDiff: Diff; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationAddCommentArgs = { input: AddCommentIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationApproveBuildArgs = { input: ApproveBuildIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationCreateBuildArgs = { input: BuildIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationCreateDerivedBaselinesArgs = { input: CreateDerivedBaselinesIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationCreateSnapshotArgs = { input: SnapshotIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationCreateSnapshotFromWebDriverArgs = { input: CreateSnapshotFromWebDriverIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationCreateSnapshotUploadArgs = { input: SnapshotUploadIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationDeleteCommentArgs = { input: DeleteCommentIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationFinishBuildArgs = { input: FinishBuildIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationForceFinishBuildArgs = { input: ForceFinishBuildIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationMergeBaselinesArgs = { input: MergeBaselinesInput; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationSetDiffFeedbackArgs = { input: SetDiffFeedbackIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationSetDiffStatusArgs = { input: SetDiffStatusIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationUpdateCommentArgs = { input: UpdateCommentIn; }; /** The root mutation type which contains root level fields which mutate data. */ type MutationUpdateDiffArgs = { input: UpdateDiffIn; }; /** An object with a globally unique `ID`. */ type Node = { /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; }; declare enum OperatingSystem { Android = "ANDROID", Ios = "IOS", Linux = "LINUX", Macos = "MACOS", Unknown = "UNKNOWN", Windows = "WINDOWS" } type OperatingSystemAttribute = { __typename?: 'OperatingSystemAttribute'; name: Maybe<OperatingSystem>; version: Maybe<Scalars['String']>; }; type OperatingSystemFilterIn = { name: OperatingSystem; version: Scalars['String']; }; type Org = { __typename?: 'Org'; id: Maybe<Scalars['UUID']>; /** Reads and enables pagination through a set of `OrgStat`. */ orgStats: OrgStatsConnection; statsGroupedByDay: OrgStatsGroupedByDayConnection; }; type OrgOrgStatsArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; condition: InputMaybe<OrgStatCondition>; filter: InputMaybe<OrgStatFilter>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<OrgStatsOrderBy>>; }; type OrgStatsGroupedByDayArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; }; type OrgStat = Node & { __typename?: 'OrgStat'; hour: Scalars['Datetime']; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; /** Reads a single `Org` that is related to this `OrgStat`. */ org: Maybe<Org>; orgId: Scalars['UUID']; snapshotsUsed: Scalars['Int']; }; /** A condition to be used against `OrgStat` object types. All fields are tested for equality and combined with a logical ‘and.’ */ type OrgStatCondition = { /** Checks for equality with the object’s `orgId` field. */ orgId?: InputMaybe<Scalars['UUID']>; }; /** A filter to be used against `OrgStat` object types. All fields are combined with a logical ‘and.’ */ type OrgStatFilter = { /** Filter by the object’s `orgId` field. */ orgId?: InputMaybe<UuidFilter>; }; /** A connection to a list of `OrgStat` values. */ type OrgStatsConnection = { __typename?: 'OrgStatsConnection'; /** A list of edges which contains the `OrgStat` and cursor to aid in pagination. */ edges: Array<OrgStatsEdge>; /** A list of `OrgStat` objects. */ nodes: Array<OrgStat>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `OrgStat` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `OrgStat` edge in the connection. */ type OrgStatsEdge = { __typename?: 'OrgStatsEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `OrgStat` at the end of the edge. */ node: OrgStat; }; /** A connection to a list of `OrgStatsGroupedByDayRecord` values. */ type OrgStatsGroupedByDayConnection = { __typename?: 'OrgStatsGroupedByDayConnection'; /** A list of edges which contains the `OrgStatsGroupedByDayRecord` and cursor to aid in pagination. */ edges: Array<OrgStatsGroupedByDayEdge>; /** A list of `OrgStatsGroupedByDayRecord` objects. */ nodes: Array<OrgStatsGroupedByDayRecord>; /** The count of *all* `OrgStatsGroupedByDayRecord` you could get from the connection. */ totalCount: Scalars['Int']; }; /** A `OrgStatsGroupedByDayRecord` edge in the connection. */ type OrgStatsGroupedByDayEdge = { __typename?: 'OrgStatsGroupedByDayEdge'; /** A cursor for use in pagination. */ cursor: Maybe<Scalars['Cursor']>; /** The `OrgStatsGroupedByDayRecord` at the end of the edge. */ node: OrgStatsGroupedByDayRecord; }; /** The return type of our `statsGroupedByDay` query. */ type OrgStatsGroupedByDayRecord = { __typename?: 'OrgStatsGroupedByDayRecord'; day: Maybe<Scalars['Datetime']>; snapshotsUsed: Maybe<Scalars['Int']>; }; /** Methods to use when ordering `OrgStat`. */ declare enum OrgStatsOrderBy { Natural = "NATURAL", OrgIdAsc = "ORG_ID_ASC", OrgIdAscHourAsc = "ORG_ID_ASC__HOUR_ASC", OrgIdDesc = "ORG_ID_DESC", OrgIdDescHourDesc = "ORG_ID_DESC__HOUR_DESC", PrimaryKeyAsc = "PRIMARY_KEY_ASC", PrimaryKeyDesc = "PRIMARY_KEY_DESC" } /** Information about pagination in a connection. */ type PageInfo = { __typename?: 'PageInfo'; /** When paginating forwards, the cursor to continue. */ endCursor: Maybe<Scalars['Cursor']>; /** When paginating forwards, are there more items? */ hasNextPage: Scalars['Boolean']; /** When paginating backwards, are there more items? */ hasPreviousPage: Scalars['Boolean']; /** When paginating backwards, the cursor to continue. */ startCursor: Maybe<Scalars['Cursor']>; }; type Project = Node & { __typename?: 'Project'; /** * Reads and enables pagination through a set of `Branch`. * @deprecated Experimental API, could change at any time. Use with caution. */ branches: BranchesConnection; id: Scalars['String']; lastUsed: Scalars['Datetime']; name: Maybe<Scalars['String']>; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']; }; type ProjectBranchesArgs = { after: InputMaybe<Scalars['Cursor']>; before: InputMaybe<Scalars['Cursor']>; first: InputMaybe<Scalars['Int']>; last: InputMaybe<Scalars['Int']>; offset: InputMaybe<Scalars['Int']>; orderBy?: InputMaybe<Array<BranchesOrderBy>>; }; /** A connection to a list of `Project` values. */ type ProjectsConnection = { __typename?: 'ProjectsConnection'; /** A list of edges which contains the `Project` and cursor to aid in pagination. */ edges: Array<ProjectsEdge>; /** A list of `Project` objects. */ nodes: Array<Project>; /** Information to aid in pagination. */ pageInfo: PageInfo; /** The count of *all* `Project` you could get from the connection. */ totalCount: Sca