Files
cypress/packages/graphql/schemas/schema.graphql
T
Tim Griesser d2ef2c1393 feat: capture protocol delivery (#26421)
Co-authored-by: Matt Schile <mschile@cypress.io>
Co-authored-by: David Rowe <95636404+davidr-cy@users.noreply.github.com>
Co-authored-by: Ryan Manuel <ryanm@cypress.io>
2023-05-15 14:06:27 -05:00

2490 lines
64 KiB
GraphQL

### This file was generated by Nexus Schema
### Do not make changes to this file directly
"""Represents state of auth based on most recent message from login flow"""
type AuthState {
"""Whether the browser was successfully opened for login"""
browserOpened: Boolean!
"""Message for the auth state"""
message: String
"""Name of auth state, e.g. AUTH_BROWSER_LAUNCHED"""
name: AuthStateNameEnum
}
enum AuthStateNameEnum {
AUTH_BROWSER_LAUNCHED
AUTH_COULD_NOT_LAUNCH_BROWSER
AUTH_ERROR_DURING_LOGIN
}
"""Container representing a browser"""
type Browser implements Node {
channel: String!
disabled: Boolean
displayName: String!
family: BrowserFamily!
"""Relay style Node ID field for the Browser field"""
id: ID!
isFocusSupported: Boolean!
isSelected: Boolean!
isVersionSupported: Boolean!
majorVersion: String
name: String!
path: String!
version: String!
warning: String
}
enum BrowserFamily {
chromium
firefox
webkit
}
enum BrowserStatus {
closed
open
opening
}
"""
When we don't have an immediate response for the cloudViewer request, we'll use this as a fallback to
render the avatar in the header bar / signal authenticated state immediately
"""
type CachedUser implements Node {
"""Email address of the cached user"""
email: String
"""Name of the cached user"""
fullName: String
"""Relay style Node ID field for the CachedUser field"""
id: ID!
}
"""Information about the browser the tests were run on"""
type CloudBrowserInfo implements Node {
"""The formatted name of the browser, e.g. `Electron`"""
formattedName: String
"""
The formatted name of the browser with the current version i.e `Electron 59.0.278`
"""
formattedNameWithVersion: String
"""The version of the browser, i.e. `59`"""
formattedVersion: String
id: ID!
"""The ID of the browser, e.g. `electron`"""
unformattedName: String
"""The unformatted version of the browser, i.e. `59.0.278`"""
unformattedVersion: String
}
"""Information about the CI provider that performed a run"""
type CloudCiBuildInfo implements Node {
"""CI build ID as extracted from the CI worker environment (if available)"""
ciBuildNumber: String
"""
Formatted CI build ID as extracted from the CI worker environment (if available)
"""
ciBuildNumberFormatted: String
"""
The formatted name of the provider that performed the associated run, e.g. `CircleCI`
"""
formattedProvider: String
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""
The ID of the provider that performed the associated run, e.g. `circleci`
"""
provider: String
"""
A link to the build details for the associated run within the CI provider (if available)
"""
url: String
}
"""Feature not available for subscription"""
type CloudFeatureNotEnabled {
"""an error message"""
message: String!
}
"""
Represents a pollable status for clients to know when refetching data is required.
"""
type CloudLatestRunUpdateSpecData {
"""DateTime of the latest update in a project."""
mostRecentUpdate: DateTime
"""Recommended seconds to wait before next poll."""
pollingInterval: Int
}
"""The operating system the tests were run on"""
type CloudOperatingSystem implements Node {
id: ID!
"""The formatted name of the operating system, e.g. `linux`"""
name: String
"""
The formatted name of the operating system with the version, e.g. `linux 14.04`
"""
nameWithVersion: String
"""The platform of the OS, e.g. `linux`"""
platform: OperatingSystemsEnum
unformattedName: String
"""The version of the operating system, e.g. `14.04`"""
version: String
}
"""
A CloudOrganization represents an Organization stored in the Cypress Cloud
"""
type CloudOrganization implements Node {
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""Name of the organization"""
name: String
"""A connection for cloud projects associated with this organization"""
projects(
"""Returns the elements in the list that come after the specified cursor"""
after: String
"""Returns the elements in the list that come before the specified cursor"""
before: String
"""Returns the first n elements from the list."""
first: Int
"""Returns the last n elements from the list."""
last: Int
): CloudProjectConnection
}
type CloudOrganizationConnection {
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
"""
edges: [CloudOrganizationEdge!]!
"""Flattened list of CloudOrganization type"""
nodes: [CloudOrganization!]!
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
pageInfo: PageInfo!
}
type CloudOrganizationEdge {
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
cursor: String!
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
node: CloudOrganization!
}
type CloudPollingIntervals {
"""
The frequency with which the CloudProject.runByNumber field should be polled, in seconds.
"""
runByNumber: Int
"""
The frequency with which the CloudProject.runsByCommitShas field should be polled, in seconds.
"""
runsByCommitShas: Int
}
"""A CloudProject represents a Project stored in the Cypress Cloud"""
type CloudProject implements Node {
"""A link to the settings page of the project in the dashboard"""
cloudProjectSettingsUrl: String!
"""A link to the project in the dashboard"""
cloudProjectUrl: String!
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""The latest run for a given spec"""
latestRun: CloudRun
"""Given name of the project"""
name: String!
"""The organization the project is a member of"""
organization: CloudOrganization
"""Record keys for the service"""
recordKeys: [CloudRecordKey!]
"""Gets a single CloudRun by runNumber"""
runByNumber(runNumber: Int!): CloudRun
"""A connection field type"""
runs(
"""Returns the elements in the list that come after the specified cursor"""
after: String
"""Returns the elements in the list that come before the specified cursor"""
before: String
cypressVersion: String
"""Returns the first n elements from the list."""
first: Int
"""Returns the last n elements from the list."""
last: Int
status: CloudRunStatus
): CloudRunConnection
"""
Returns runs associated to the given git commit SHAs hashes. The returned runs are ordered in the same way as the provided hashes.
"""
runsByCommitShas(
"""An ordered list of git commit sha1 hashes."""
commitShas: [String!]!
"""A limit to apply to the sorted list of found runs."""
runLimit: Int! = 100
): [CloudRun]
"""Unique identifier for a Project"""
slug: String!
}
type CloudProjectConnection {
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
"""
edges: [CloudProjectEdge!]!
"""Flattened list of CloudProject type"""
nodes: [CloudProject!]!
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
pageInfo: PageInfo!
}
type CloudProjectEdge {
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
cursor: String!
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
node: CloudProject!
}
"""Unable to find cloud project"""
type CloudProjectNotFound {
"""an error message"""
message: String!
}
union CloudProjectResult = CloudProject | CloudProjectNotFound | CloudProjectUnauthorized
type CloudProjectSpec implements Node {
"""Average duration the spec takes to run"""
averageDuration(
"""
The branch to measure average duration against. This will fallback to the closest branch with data.
"""
fromBranch: String!
): Float
"""
Average duration the spec takes to run within the context of the provided CloudRun ids.
"""
averageDurationForRunIds(
"""
The ids for the CloudRuns to use to derive the average duration. When provided, the fromBranch argument is ignored, as the provided run ids define the search space.
"""
cloudRunIds: [ID!]!
): Float
flakyStatus(
"""The number of runs to consider when counting flaky runs."""
flakyRunsWindow: Int!
"""
The branch to measure average duration against. This will fallback to the closest branch with data.
"""
fromBranch: String!
): CloudProjectSpecFlakyResult
"""
The flaky metadata for the spec within the context of the provided CloudRun ids.
"""
flakyStatusForRunIds(
"""
The ids for the CloudRuns, ordered from most to least relevant, to use to derive the flaky status.
"""
cloudRunIds: [ID!]!
): CloudProjectSpecFlakyResult
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
isConsideredFlaky(
"""The branch to measure flakiness against"""
fromBranch: String!
): Boolean
"""
Indicator that a spec is considered flaky within the context of the provided CloudRun ids.
"""
isConsideredFlakyForRunIds(
"""
The ids for the CloudRuns to use to derive the flake indicator. When provided, the fromBranch argument is ignored, as the provided run ids define the search space.
"""
cloudRunIds: [ID!]!
): Boolean
"""
Current DateTime on the server. Used in connection with CloudLatestRunUpdateSpecData.
"""
retrievedAt: DateTime
"""Shortened spec path"""
specPath: String
"""Runs this spec has been involved with."""
specRuns(
"""Returns the elements in the list that come after the specified cursor"""
after: String
"""Returns the elements in the list that come before the specified cursor"""
before: String
"""Returns the first n elements from the list."""
first: Int
"""
The branch to filter on for the specs. This will fallback to the closest branch with data.
"""
fromBranch: String!
"""Returns the last n elements from the list."""
last: Int
): CloudSpecRunConnection @deprecated(reason: "Cypress app should utilize specRunsForRunIds to retrieve more relevant data based on local state")
"""
Runs this spec has been involved with, limited to the provided list of CloudRun ids.
Runs will be returned in the same order as the runs provided, where matches are found.
"""
specRunsForRunIds(
"""A list of IDs for a CloudRun Node, conforming to the Relay spec"""
cloudRunIds: [ID!]!
): [CloudSpecRun]
}
union CloudProjectSpecFlakyResult = CloudFeatureNotEnabled | CloudProjectSpecFlakyStatus
type CloudProjectSpecFlakyStatus {
"""URL linking to the flaky data in the Cypress dashboard for this spec"""
dashboardUrl: String
"""Number of flaky runs from the considered runs"""
flakyRuns: Int
flakyRunsWindow: Int
"""
The last flaky run occurrence, interpreted as "n runs ago" - ex: a value of 5 means a flaky run last occurred 5 runs ago. Will be null if field is a child of flayStatusForRunIds
"""
lastFlaky: Int
"""
The associated commit_sha of the CloudRun containing the most recent flaky occurrence of the spec. Will be populated if field is a child of flayStatusForRunIds.
"""
lastFlakyRunCommitSha: String
"""
The run number of the CloudRun containing the most recent flaky occurrence of the spec. Will be populated if field is a child of flayStatusForRunIds.
"""
lastFlakyRunNumber: Int
severity: String
}
"""Unable to find cloud spec in project"""
type CloudProjectSpecNotFound {
"""an error message"""
message: String!
retrievedAt: DateTime
}
union CloudProjectSpecResult = CloudProjectSpec | CloudProjectSpecNotFound | CloudProjectUnauthorized
"""Unauthorized access"""
type CloudProjectUnauthorized {
"""does the user have a requested access pending"""
hasRequestedAccess: Boolean
"""an error message"""
message: String!
}
type CloudRecordKey implements Node {
createdAt: DateTime
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""The Record Key"""
key: String
lastUsedAt: DateTime
}
"""A Recorded run of the Test Runner, typically to the cloud"""
type CloudRun implements Node {
"""Whether or not the run was canceled due to a failure"""
cancelOnFailure: Boolean
"""When the run was cancelled, null if not cancelled"""
cancelledAt: DateTime
"""
The user who manually cancelled the run, null if not cancelled manually
"""
cancelledBy: CloudUser
"""Information about the CI provider that performed the run"""
ci: CloudCiBuildInfo!
commitInfo: CloudRunCommitInfo
completedAt: DateTime
"""Number of specs instances that have been completed within a run"""
completedInstanceCount: Int
"""When the run was created"""
createdAt: DateTime!
"""
Errors recorded against tests within this run, as reported by the Cypress App during recording
"""
errors: [String!]!
"""All groups within this run"""
groups: [CloudRunGroup!]!
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""
Whether this run is hidden to the user due to data limits. Specific reasons are provided in the reasonsRunIsHidden field.
"""
isHidden: Boolean!
"""Action user can perform when the run is over a usage limit"""
overLimitActionType: OverLimitActionTypeEnum!
"""A link a user can navigate to when the run is over a usage limit"""
overLimitActionUrl: String!
"""
Reasons why this run is hidden. List will be empty if the run is not hidden.
"""
reasonsRunIsHidden: [CloudRunHidingReason]!
runNumber: Int
"""
The datetime at which the run is currently scheduled to be completed. Will be null if not currently scheduled for completion or if already completed.
"""
scheduledToCompleteAt: DateTime
"""All specs within this run"""
specs: [CloudSpecRun!]!
status: CloudRunStatus
tags: [CloudRunTag]
"""Tests within this run that failed and need to be reviewed"""
testsForReview(limit: Int! = 100): [CloudTestResult!]!
"""
Total duration of the run in milliseconds, accounting for any parallelization
"""
totalDuration: Int
"""This is the number of failed tests across all groups in the run"""
totalFailed: Int
"""Number of flaky tests, null if flake detection is not enabled"""
totalFlakyTests: Int
"""Number of instances within a run"""
totalInstanceCount: Int
"""This is the number of passed tests across all groups in the run"""
totalPassed: Int
"""This is the number of pending tests across all groups in the run"""
totalPending: Int
"""This is the number of running tests across all groups in the run"""
totalRunning: Int
"""This is the number of skipped tests across all groups in the run"""
totalSkipped: Int
"""This is the number of tests across all groups in the run"""
totalTests: Int
"""A link to the run page"""
url: String
}
type CloudRunCommitInfo {
authorAvatar: String
authorEmail: String
authorName: String
branch: String
branchUrl: String
message(
"""Number of characters to truncate the commit message to"""
truncate: Int
): String
sha: String
summary: String
url: String
}
type CloudRunConnection {
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
"""
edges: [CloudRunEdge!]!
"""Flattened list of CloudRun type"""
nodes: [CloudRun!]!
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
pageInfo: PageInfo!
}
type CloudRunEdge {
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
cursor: String!
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
node: CloudRun!
}
"""A group of tests that are executed together within a run"""
type CloudRunGroup implements Node {
"""The browser the tests were run on"""
browser: CloudBrowserInfo!
"""The date and time the group was completed"""
completedAt: DateTime
"""The date and time the group was created"""
createdAt: DateTime!
"""The overall duration of the tests in the group in milliseconds"""
duration: Int!
"""The name of the group"""
groupName: String
id: ID!
"""The operating system the tests were run on"""
os: CloudOperatingSystem!
status: CloudRunGroupStatusEnum!
"""The type of the test"""
testingType: String!
"""The total number of tests that failed within the group"""
totalFailures: Int!
"""The total number of tests that passed within the group"""
totalPasses: Int!
"""The total number of tests that are pending within the group"""
totalPending: Int!
"""The total number of tests that are skipped within the group"""
totalSkipped: Int!
}
"""Possible check status of a run group"""
enum CloudRunGroupStatusEnum {
CANCELLED
ERRORED
FAILED
NOTESTS
PASSED
RUNNING
TIMEDOUT
UNCLAIMED
}
"""The reason a run was hidden, along with any details"""
union CloudRunHidingReason = DataRetentionLimitExceeded | UsageLimitExceeded
"""An instance of executing a single test within a run"""
type CloudRunInstance implements Node {
"""The ID of the group that this instance belongs to"""
groupId: String!
"""Used to determine if the instance has screenshots"""
hasScreenshots: Boolean!
"""Used to determine if the instance has stdout"""
hasStdout: Boolean!
"""Used to determine if the instance has screenshots"""
hasVideo: Boolean!
id: ID!
"""Link to Cypress Cloud to view stdout, if available"""
screenshotsUrl: String
"""The status of the instance"""
status: RunInstanceStatusEnum!
"""Link to Cypress Cloud to view stdout, if available"""
stdoutUrl: String
"""This is the number of failed tests for the instance"""
totalFailed: Int
"""This is the number of passed tests for the instance"""
totalPassed: Int
"""This is the number of pending tests for the instance"""
totalPending: Int
"""This is the number of running tests for the instance"""
totalRunning: Int
"""This is the number of skipped tests for the instance"""
totalSkipped: Int
"""Link to Cypress Cloud to view stdout, if available"""
videoUrl: String
}
"""Possible check status of the test run"""
enum CloudRunStatus {
CANCELLED
ERRORED
FAILED
NOTESTS
OVERLIMIT
PASSED
RUNNING
TIMEDOUT
}
type CloudRunTag implements Node {
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
name: String
}
"""
Details of test recording in Cypress Cloud for a spec file within a run
"""
type CloudSpecRun implements Node {
"""Basename of the spec file"""
basename: String!
"""When the spec was completed"""
completedAt: DateTime
"""When the spec was registered to run"""
createdAt: DateTime
"""Extension of the spec file"""
extension: String!
"""Amount of groups this spec was run in"""
groupCount: Int
"""Unique identifiers for each group this spec was run in"""
groupIds: [String]
id: ID!
"""Full path to the spec file"""
path: String!
"""Incremental run number assigned"""
runNumber: Int
"""Short path to the spec file without leading Cypress directories"""
shortPath: String
"""
Aggregate information about how long the spec took to run in the groups
"""
specDuration: SpecDataAggregate
"""Most important status for the spec shared between all groups"""
status: CloudSpecStatus
"""Aggregate information about how many tests failed in the groups"""
testsFailed: SpecDataAggregate
"""Aggregate information about how many tests passed in the groups"""
testsPassed: SpecDataAggregate
"""Aggregate information about how many tests are pending in the groups"""
testsPending: SpecDataAggregate
"""Aggregate information about how many tests were skipped in the groups"""
testsSkipped: SpecDataAggregate
"""A link to the run overview page in Cypress Cloud filtered by spec"""
url: String
}
type CloudSpecRunConnection {
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
"""
edges: [CloudSpecRunEdge!]!
"""Flattened list of CloudSpecRun type"""
nodes: [CloudSpecRun!]!
"""
https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
pageInfo: PageInfo!
}
type CloudSpecRunEdge {
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Cursor"""
cursor: String!
"""https://facebook.github.io/relay/graphql/connections.htm#sec-Node"""
node: CloudSpecRun!
}
"""Possible check status of the spec within a run"""
enum CloudSpecStatus {
CANCELLED
ERRORED
FAILED
NOTESTS
PASSED
RUNNING
TIMEDOUT
UNCLAIMED
}
"""Details of a recording in Cypress Cloud for a single test within a run"""
type CloudTestResult implements Node {
"""This is the duration of the test result in milliseconds"""
duration: Int
id: ID!
"""The instance of running the test result within the corresponding run"""
instance: CloudRunInstance
"""If the test result was flaky in the current run"""
isFlaky: Boolean!
"""The spec ID of the test result"""
specId: String!
"""The state of the test result"""
state: CloudTestResultStateEnum!
"""The URL to the test result in Cypress Cloud"""
testUrl: String!
"""
The thumbprint of the test result, allows for deduping tests sharing the same title in the same spec
"""
thumbprint: String!
"""The title of the test result: describe/context > it/test"""
title(
"""This will trim the test title to the provided depth"""
depth: Int!
): String!
"""The title of the test result split into parts"""
titleParts: [String!]!
}
"""State of the test result"""
enum CloudTestResultStateEnum {
CANCELLED
ERRORED
FAILED
PASSED
PENDING
RUNNING
SKIPPED
TIMEDOUT
UNKNOWN
}
"""A CloudUser represents an User stored in the Cypress Cloud"""
type CloudUser implements Node {
"""Url to manage cloud organizations for this user"""
cloudOrganizationsUrl: String
"""Url to the profile of the current user on the dashboard"""
cloudProfileUrl: String
"""Url to create a cloud organization for this user"""
createCloudOrganizationUrl: String
email: String
"""The display name of the user, if we have one"""
fullName: String
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""A connection field type"""
organizations(
"""Returns the elements in the list that come after the specified cursor"""
after: String
"""Returns the elements in the list that come before the specified cursor"""
before: String
"""Returns the first n elements from the list."""
first: Int
"""Returns the last n elements from the list."""
last: Int
): CloudOrganizationConnection
"""Whether this user is the currently authenticated user"""
userIsViewer: Boolean!
}
"""
A code frame to display for a file, used when displaying code related to errors
"""
type CodeFrame {
"""Source of the code frame to display"""
codeBlock: String
"""The column of the error to display"""
column: Int
file: FileParts!
"""The line number of the code snippet to display"""
line: Int
}
"""Glob patterns for detecting files for code gen."""
type CodeGenGlobs implements Node {
component: String!
"""Relay style Node ID field for the CodeGenGlobs field"""
id: ID!
}
enum CodeGenType {
component
componentEmpty
e2e
e2eExamples
}
enum CodeLanguageEnum {
js
ts
}
"""used to distinguish one group of users from another"""
type Cohort {
"""value used to indicate the cohort (e.g. "A" or "B")"""
cohort: String!
"""name used to identify the cohort topic (e.g. "LoginBanner" ) """
name: String!
}
input CohortInput {
"""Array of cohort options to choose from. Ex: A or B """
cohorts: [String!]!
"""Name of the cohort"""
name: String!
"""
Optional array of integer weights to use for determining cohort. Defaults to even weighting
"""
weights: [Int!]
}
""""""
type CommitInfo {
"""Commit message"""
message: String!
"""Commit hash"""
sha: String!
}
"""
The currently opened Cypress project, represented by a cypress.config.{js,ts,mjs,cjs} file
"""
type CurrentProject implements Node & ProjectLike {
"""The currently selected browser for the project"""
activeBrowser: Browser
"""The current branch of the project"""
branch: String
"""If the browser is open or not"""
browserStatus: BrowserStatus!
"""Browsers found that are compatible with Cypress"""
browsers: [Browser!]
"""The remote associated project from Cypress Cloud"""
cloudProject: CloudProjectResult
"""
A refetchable remote field implementation to fetch the cloudProject,
this can safely be used when rendering a list of projects
"""
cloudProjectRemote(
"""A globally unique name for this field"""
name: String!
): RemoteFetchableCloudProjectResult
"""List of all code generation candidates stories"""
codeGenCandidates(glob: String!): [FileParts]
codeGenFramework: String
codeGenGlobs: CodeGenGlobs!
"""Project configuration"""
config: JSON!
"""Config File, specified by the CLI or """
configFile: String
"""Config File Absolute Path"""
configFileAbsolutePath: String
"""The mode the interactive runner was launched in"""
currentTestingType: TestingTypeEnum
"""
Default spec file name for spec creation, nullable so we can throw if it can't be decided
"""
defaultSpecFileName: String
"""File extension to use based on if the project has typescript or not"""
fileExtensionToUse: FileExtensionEnum
"""
Whether the project has any specs found that do not match an example spec
"""
hasNonExampleSpec: Boolean
"""Whether the project has a valid config file"""
hasValidConfigFile: Boolean
"""Relay style Node ID field for the CurrentProject field"""
id: ID!
"""Whether the user configured this project to use Component Testing"""
isCTConfigured: Boolean
"""True if the project is using the default spec pattern"""
isDefaultSpecPattern: Boolean!
"""Whether the user configured this project to use e2e Testing"""
isE2EConfigured: Boolean
"""Whether or not the full config is ready"""
isFullConfigReady: Boolean
"""Whether we are currently loading the configFile"""
isLoadingConfigFile: Boolean
"""Whether we are currently loading the setupNodeEvents"""
isLoadingNodeEvents: Boolean
"""Whether the project has Typescript"""
isUsingTypeScript: Boolean
"""Whether the project needs to be migrated before proceeding"""
needsLegacyConfigMigration: Boolean
packageManager: PackageManagerEnum!
"""Cached preferences for this project"""
preferences: ProjectPreferences
"""Used to associate project with Cypress Cloud"""
projectId: String
"""Absolute path to the project on the filesystem"""
projectRoot: String!
"""Project saved state"""
savedState: JSON
"""base64 encoded config used on the runner page"""
serveConfig: JSON!
"""A list of specs for the currently open testing type of a project"""
specs: [Spec!]!
title: String!
}
"""A run was hidden because it was over the data retention limit"""
type DataRetentionLimitExceeded {
"""The number of days of data retention"""
dataRetentionDays: Int
}
"""
A date string, such as 2007-12-03, compliant with the `full-date` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar Date
"""
A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the `date-time` format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.
"""
scalar DateTime
enum DevRelaunchAction {
dismiss
trigger
}
"""State associated/helpful for local development of Cypress"""
type DevState {
"""
When we have edited server related files, we may want to relaunch the client.
"""
needsRelaunch: Boolean
"""For debugging, the current application state"""
state: JSON
}
"""Represents an editor on the local machine"""
type Editor {
"""Binary that opens the editor"""
binary: String
id: String!
"""name of editor"""
name: String!
}
enum ErrorTypeEnum {
AUTOMATION_SERVER_DISCONNECTED
BAD_POLICY_WARNING
BAD_POLICY_WARNING_TOOLTIP
BROWSER_CRASHED
BROWSER_NOT_FOUND_BY_NAME
BROWSER_NOT_FOUND_BY_PATH
BROWSER_UNSUPPORTED_LAUNCH_OPTION
BUNDLE_ERROR
CANNOT_CONNECT_BASE_URL
CANNOT_CONNECT_BASE_URL_RETRYING
CANNOT_CONNECT_BASE_URL_WARNING
CANNOT_CREATE_PROJECT_TOKEN
CANNOT_FETCH_PROJECT_TOKEN
CANNOT_RECORD_NO_PROJECT_ID
CANNOT_REMOVE_OLD_BROWSER_PROFILES
CANNOT_TRASH_ASSETS
CDP_COULD_NOT_CONNECT
CDP_COULD_NOT_RECONNECT
CDP_RETRYING_CONNECTION
CDP_VERSION_TOO_OLD
CHROME_WEB_SECURITY_NOT_SUPPORTED
CLOUD_ALREADY_COMPLETE
CLOUD_API_RESPONSE_FAILED_RETRYING
CLOUD_AUTO_CANCEL_MISMATCH
CLOUD_AUTO_CANCEL_NOT_AVAILABLE_IN_PLAN
CLOUD_CANCEL_SKIPPED_SPEC
CLOUD_CANNOT_CREATE_RUN_OR_INSTANCE
CLOUD_CANNOT_PROCEED_IN_PARALLEL
CLOUD_CANNOT_PROCEED_IN_SERIAL
CLOUD_CANNOT_UPLOAD_ARTIFACTS
CLOUD_CANNOT_UPLOAD_RESULTS
CLOUD_GRAPHQL_ERROR
CLOUD_INVALID_RUN_REQUEST
CLOUD_PARALLEL_DISALLOWED
CLOUD_PARALLEL_GROUP_PARAMS_MISMATCH
CLOUD_PARALLEL_REQUIRED
CLOUD_PROJECT_NOT_FOUND
CLOUD_RECORD_KEY_NOT_VALID
CLOUD_RUN_GROUP_NAME_NOT_UNIQUE
CLOUD_STALE_RUN
CLOUD_UNKNOWN_CREATE_RUN_WARNING
CLOUD_UNKNOWN_INVALID_REQUEST
COMPONENT_FOLDER_REMOVED
COMPONENT_TESTING_MISMATCHED_DEPENDENCIES
CONFIG_FILES_LANGUAGE_CONFLICT
CONFIG_FILE_DEV_SERVER_INVALID_RETURN
CONFIG_FILE_DEV_SERVER_IS_NOT_VALID
CONFIG_FILE_INVALID_DEV_START_EVENT
CONFIG_FILE_INVALID_ROOT_CONFIG
CONFIG_FILE_INVALID_ROOT_CONFIG_COMPONENT
CONFIG_FILE_INVALID_ROOT_CONFIG_E2E
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_COMPONENT
CONFIG_FILE_INVALID_TESTING_TYPE_CONFIG_E2E
CONFIG_FILE_MIGRATION_NEEDED
CONFIG_FILE_NOT_FOUND
CONFIG_FILE_REQUIRE_ERROR
CONFIG_FILE_SETUP_NODE_EVENTS_ERROR
CONFIG_FILE_UNEXPECTED_ERROR
CONFIG_VALIDATION_ERROR
CONFIG_VALIDATION_MSG_ERROR
COULD_NOT_FIND_SYSTEM_NODE
COULD_NOT_PARSE_ARGUMENTS
DEFAULT_SUPPORT_FILE_NOT_FOUND
DEPRECATED_BEFORE_BROWSER_LAUNCH_ARGS
DEV_SERVER_CONFIG_FILE_NOT_FOUND
DUPLICATE_TASK_KEY
ERROR_READING_FILE
ERROR_WRITING_FILE
EXPERIMENTAL_COMPONENT_TESTING_REMOVED
EXPERIMENTAL_NETWORK_STUBBING_REMOVED
EXPERIMENTAL_ORIGIN_DEPENDENCIES_E2E_ONLY
EXPERIMENTAL_RUN_ALL_SPECS_E2E_ONLY
EXPERIMENTAL_RUN_EVENTS_REMOVED
EXPERIMENTAL_SAMESITE_REMOVED
EXPERIMENTAL_SESSION_AND_ORIGIN_REMOVED
EXPERIMENTAL_SESSION_SUPPORT_REMOVED
EXPERIMENTAL_SHADOW_DOM_REMOVED
EXPERIMENTAL_SINGLE_TAB_RUN_MODE
EXPERIMENTAL_STUDIO_E2E_ONLY
EXPERIMENTAL_STUDIO_REMOVED
EXPERIMENTAL_USE_DEFAULT_DOCUMENT_DOMAIN_E2E_ONLY
EXTENSION_NOT_LOADED
FIREFOX_COULD_NOT_CONNECT
FIREFOX_GC_INTERVAL_REMOVED
FIREFOX_MARIONETTE_FAILURE
FIXTURE_NOT_FOUND
FOLDER_NOT_WRITABLE
FREE_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
FREE_PLAN_EXCEEDS_MONTHLY_TESTS
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_PRIVATE_TESTS
FREE_PLAN_IN_GRACE_PERIOD_EXCEEDS_MONTHLY_TESTS
FREE_PLAN_IN_GRACE_PERIOD_PARALLEL_FEATURE
INCOMPATIBLE_PLUGIN_RETRIES
INCORRECT_CI_BUILD_ID_USAGE
INDETERMINATE_CI_BUILD_ID
INTEGRATION_FOLDER_REMOVED
INVALID_CONFIG_OPTION
INVALID_CYPRESS_INTERNAL_ENV
INVALID_REPORTER_NAME
INVOKED_BINARY_OUTSIDE_NPM_MODULE
LEGACY_CONFIG_ERROR_DURING_MIGRATION
LEGACY_CONFIG_FILE
MIGRATION_ALREADY_OCURRED
MIGRATION_CYPRESS_NOT_FOUND
MIGRATION_MISMATCHED_CYPRESS_VERSIONS
MULTIPLE_SUPPORT_FILES_FOUND
NODE_VERSION_DEPRECATION_BUNDLED
NODE_VERSION_DEPRECATION_SYSTEM
NOT_LOGGED_IN
NO_DEFAULT_CONFIG_FILE_FOUND
NO_PROJECT_FOUND_AT_PROJECT_ROOT
NO_PROJECT_ID
NO_SPECS_FOUND
PAID_PLAN_EXCEEDS_MONTHLY_PRIVATE_TESTS
PARALLEL_FEATURE_NOT_AVAILABLE_IN_PLAN
PLAN_EXCEEDS_MONTHLY_TESTS
PLAN_IN_GRACE_PERIOD_RUN_GROUPING_FEATURE_USED
PLUGINS_FILE_CONFIG_OPTION_REMOVED
PLUGINS_RUN_EVENT_ERROR
PORT_IN_USE_LONG
PORT_IN_USE_SHORT
PROJECT_ID_AND_KEY_BUT_MISSING_RECORD_OPTION
RECORDING_FROM_FORK_PR
RECORD_KEY_MISSING
RECORD_PARAMS_WITHOUT_RECORDING
RENAMED_CONFIG_OPTION
RENDERER_CRASHED
RUN_GROUPING_FEATURE_NOT_AVAILABLE_IN_PLAN
SETUP_NODE_EVENTS_DO_NOT_SUPPORT_DEV_SERVER
SETUP_NODE_EVENTS_INVALID_EVENT_NAME_ERROR
SETUP_NODE_EVENTS_IS_NOT_FUNCTION
SUPPORT_FILE_NOT_FOUND
TESTING_TYPE_NOT_CONFIGURED
TESTS_DID_NOT_START_FAILED
TESTS_DID_NOT_START_RETRYING
TEST_FILES_RENAMED
UNEXPECTED_BEFORE_BROWSER_LAUNCH_PROPERTIES
UNEXPECTED_INTERNAL_ERROR
UNEXPECTED_MUTATION_ERROR
UNSUPPORTED_BROWSER_VERSION
VIDEO_POST_PROCESSING_FAILED
VIDEO_RECORDING_FAILED
}
"""Base error"""
type ErrorWrapper {
"""The code frame to display in relation to the error"""
codeFrame: CodeFrame
"""The markdown formatted content associated with the ErrorTypeEnum"""
errorMessage: String!
"""Name of the error class"""
errorName: String!
"""
The error stack of either the original error from the user or from where the internal Cypress error was created
"""
errorStack: String!
errorType: ErrorTypeEnum!
"""The ID for the error, used to clear the error"""
id: ID!
"""
Whether the error came from user code, can be used to determine whether to open a stack trace by default
"""
isUserCodeError: Boolean!
"""
Optional title of the error. Used to optionally display a title above the error
"""
title: String
}
input FileDetailsInput {
column: Int
"""
When we open a file we take a filePath, either relative to the project root, or absolute on disk
"""
filePath: String!
line: Int
}
enum FileExtensionEnum {
js
jsx
ts
tsx
}
"""Represents a file on the file system"""
type FileParts implements Node {
"""
Absolute path to file (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
"""
absolute: String!
"""Full name of the file (e.g. MySpec.test.tsx)"""
baseName: String!
"""
If provided, used to specify the column of the file to open in openFileInIDE
"""
column: Int
"""The contents of the file"""
contents: String!
"""The file's extension"""
fileExtension: String!
"""The first part of the file, without extensions (e.g. MySpec)"""
fileName: String!
"""Relay style Node ID field for the FileParts field"""
id: ID!
"""
If provided, used to specify the line of the file to open in openFileInIDE
"""
line: Int
"""Full name of spec file (e.g. MySpec.test.tsx)"""
name: String!
"""Relative path to file (e.g. src/component/MySpec.test.tsx)"""
relative: String!
}
"""Error from generated spec"""
type GenerateSpecResponse {
"""The currently opened project"""
currentProject: CurrentProject
"""The file that have just been scaffolded or the fileName that errored"""
generatedSpecResult: GeneratedSpecResult
}
"""Error from generated spec"""
type GeneratedSpecError {
erroredCodegenCandidate: String!
fileName: String!
}
union GeneratedSpecResult = GeneratedSpecError | ScaffoldedFile
"""Git information about a spec file"""
type GitInfo {
"""Last person to change the file in git"""
author: String
"""last modified as a pretty string, eg 2 days ago"""
lastModifiedHumanReadable: String
"""last modified timestamp, eg 2021-09-14 13:43:19 +1000"""
lastModifiedTimestamp: String
"""short hash for latest commit"""
shortHash: String
"""status type - created or modified"""
statusType: GitInfoStatusType
"""subject for latest commit"""
subject: String
}
enum GitInfoStatusType {
created
modified
noGitInfo
unmodified
}
"""A project which exists on the filesystem but has not been opened"""
type GlobalProject implements Node & ProjectLike {
"""
A refetchable remote field implementation to fetch the cloudProject,
this can safely be used when rendering a list of projects
"""
cloudProjectRemote(
"""A globally unique name for this field"""
name: String!
): RemoteFetchableCloudProjectResult
"""Relay style Node ID field for the GlobalProject field"""
id: ID!
"""Used to associate project with Cypress Cloud"""
projectId: String
"""Absolute path to the project on the filesystem"""
projectRoot: String!
title: String!
}
"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON
"""local settings on a device-by-device basis"""
type LocalSettings {
availableEditors: [Editor!]!
preferences: LocalSettingsPreferences!
}
"""local setting preferences"""
type LocalSettingsPreferences {
autoScrollingEnabled: Boolean
debugSlideshowComplete: Boolean
isSideNavigationOpen: Boolean
isSpecsListOpen: Boolean
majorVersionWelcomeDismissed: JSON
preferredEditorBinary: String
proxyBypass: String
proxyServer: String
reporterWidth: Int
specListWidth: Int
wasBrowserSetInCLI: Boolean
}
type ManualMigration implements Node {
"""is the manual migration completed (all files are moved)"""
completed: Boolean!
"""files needing manual migration"""
files: [ManualMigrationFile!]!
"""Relay style Node ID field for the ManualMigration field"""
id: ID!
}
type ManualMigrationFile implements Node {
"""Relay style Node ID field for the ManualMigrationFile field"""
id: ID!
"""has the file been moved since opening the migration helper"""
moved: Boolean!
"""name of file to migrate"""
relative: String!
}
"""Contains all data related to the 9.X to 10.0 migration UI"""
type Migration {
"""the component folder path used to store components tests"""
componentFolder: String!
"""contents of the cypress.json file after conversion"""
configAfterCode: String!
"""contents of the cypress.json file before conversion"""
configBeforeCode: String!
"""the name of the config file after the migration"""
configFileNameAfter: String!
"""the name of the config file to be migrated"""
configFileNameBefore: String!
"""Steps filtered with the current context"""
filteredSteps: [MigrationStep!]!
"""whether component testing is set up in the migrated config or not"""
hasComponentTesting: Boolean!
"""whether the component folder is custom or not"""
hasCustomComponentFolder: Boolean!
"""whether the testFiles member is custom or not in component testing"""
hasCustomComponentTestFiles: Boolean!
"""whether the integration folder is custom or not"""
hasCustomIntegrationFolder: Boolean!
"""whether the testFiles member is custom or not in integration"""
hasCustomIntegrationTestFiles: Boolean!
"""the integration folder path used to store e2e tests"""
integrationFolder: String!
"""Whether the project has Typescript"""
isUsingTypeScript: Boolean
"""List of files needing manual conversion"""
manualFiles: ManualMigration
"""whether the pre extension info should be displayed"""
shouldMigratePreExtension: Boolean
"""All spec files after conversion"""
specFiles: [MigrationFile!]!
"""Support files needing automated rename"""
supportFiles: MigrationFile
}
type MigrationFile {
after: MigrationFileData!
before: MigrationFileData!
testingType: TestingTypeEnum!
}
type MigrationFileData implements Node {
"""Relay style Node ID field for the MigrationFileData field"""
id: ID!
parts: [MigrationFilePart!]!
relative: String!
}
type MigrationFilePart implements Node {
"""is this part a folder or extension that needs migration"""
group: String
"""should highlight in migration UI"""
highlight: Boolean!
"""Relay style Node ID field for the MigrationFilePart field"""
id: ID!
"""part of filename"""
text: String!
}
type MigrationRegexp {
"""regexp to use to rename existing specs in component"""
afterComponent: String!
"""regexp to use to rename existing specs in e2e"""
afterE2E: String!
"""regexp to identify existing specs in component"""
beforeComponent: String!
"""regexp to identify existing specs in e2e"""
beforeE2E: String!
}
"""Contains all data related to the 9.X to 10.0 migration UI"""
type MigrationStep implements Node {
"""Relay style Node ID field for the MigrationStep field"""
id: ID!
"""Index of the step in the list"""
index: Int!
"""Has the current step been completed"""
isCompleted: Boolean!
"""This is the current step"""
isCurrentStep: Boolean!
"""Identifier of the step"""
name: MigrationStepEnum!
}
enum MigrationStepEnum {
configFile
renameAuto
renameManual
renameSupport
setupComponent
}
type Mutation {
"""Internal use only, clears the cloud cache"""
_clearCloudCache: Boolean
"""Used internally to update the URQL cache in the CloudDataSource"""
_cloudCacheInvalidate(args: JSON): Boolean
"""Internal use only, clears the cloud cache"""
_showUrqlCache: JSON
"""Add project to projects array and cache it"""
addProject(
"""Whether to open the project when added"""
open: Boolean
path: String
): Query
"""Clears the currently active project"""
clearCurrentProject: Query
clearCurrentTestingType: Query
"""Close active browser"""
closeBrowser: Boolean
"""Create a project in the dashboard and return its object"""
cloudProjectCreate(campaign: String, ciProviders: [String!], cohort: String, medium: String, name: String!, orgId: ID!, public: Boolean!, source: String): CloudProject
"""Request access to an organization from a projectId"""
cloudProjectRequestAccess(projectSlug: String!): CloudProjectResult
completeSetup: Query
"""add the passed text to the local clipboard"""
copyTextToClipboard(text: String!): Boolean
"""
Determine the cohort based on the given configuration. This will either return the cached cohort for a given name or choose a new one and store it.
"""
determineCohort(cohortConfig: CohortInput!): Cohort
"""
Development only: Triggers or dismisses a prompted refresh by touching the file watched by our development scripts
"""
devRelaunch(action: DevRelaunchAction!): Boolean
"""Dismisses a warning displayed by the frontend"""
dismissWarning(id: ID!): Query
e2eExamples: [ScaffoldedFile!]!
"""user has finished migration component specs - move to next step"""
finishedRenamingComponentSpecs: Query
"""Sets focus to the active browser window"""
focusActiveBrowserWindow: Boolean!
"""Generate spec from source"""
generateSpecFromSource(codeGenCandidate: String!, componentName: String, isDefault: Boolean, type: CodeGenType!): GenerateSpecResponse
"""
Parse a JS or TS file to see any exported React components that are defined in the file
"""
getReactComponentsFromFile(filePath: String!): ReactComponentResponse
"""
Scan dependencies to determine what, if any, CT frameworks are installed
"""
initializeCtFrameworks: Boolean
internal_clearAllProjectPreferencesCache: Boolean
internal_clearLatestProjectCache: Boolean
internal_clearProjectPreferencesCache(projectTitle: String!): Boolean
"""Launches project from open_project global singleton"""
launchOpenProject(shouldLaunchNewTab: Boolean, specPath: String): CurrentProject
"""Sets the active browser"""
launchpadSetBrowser(
"""ID of the browser that we want to set"""
id: ID!
): CurrentProject
"""Fetches the remote data for a RemoteFetchable ID"""
loadRemoteFetchables(
"""The identifier for the RemoteFetchable we are loading"""
ids: [ID!]!
): [RemoteFetchable]!
"""Auth with Cypress Cloud"""
login(utmContent: String, utmMedium: String!, utmSource: String!): Query
"""Log out of Cypress Cloud"""
logout: Query
"""Check if a give spec file will match the project spec pattern"""
matchesSpecPattern(specFile: String!): Boolean!
"""While migrating to 10+ skip manual rename step"""
migrateCloseManualRenameWatcher: Boolean
"""Merges the component testing config in cypress.config.{js,ts}"""
migrateComponentTesting: Query
"""Transforms cypress.json file into cypress.config.js file"""
migrateConfigFile: Query
"""While migrating to 10+ renames files to match the new .cy pattern"""
migrateRenameSpecs(
"""specs to move - current name"""
after: [String!]
"""specs to move - current name"""
before: [String!]
skip: Boolean
): Query
"""When the user decides to skip specs rename"""
migrateRenameSpecsFolder: Query
"""While migrating to 10+ launch renaming of support file"""
migrateRenameSupport: Query
"""While migrating to 10+ skip manual rename step"""
migrateSkipManualRename: Query
"""
Allow the relevant run for debugging marked as next to be considered the current relevant run
"""
moveToRelevantRun(runNumber: Int!): Boolean
"""Open a path in preferred IDE"""
openDirectoryInIDE(path: String!): Boolean
openExternal(includeGraphqlPort: Boolean, url: String!): Boolean
"""Open a file on specified line and column in preferred IDE"""
openFileInIDE(input: FileDetailsInput!): Boolean
"""Open a path in the local file explorer"""
openInFinder(path: String!): Boolean
"""Ping configured Base URL"""
pingBaseUrl: Query
"""Removes the cache entries for specified cloudSpecByPath query records"""
purgeCloudSpecByPathCache(projectSlug: String!, specPaths: [String!]!): Boolean
"""show the launchpad windows"""
reconfigureProject: Boolean!
"""
Dispatch an event to Cypress Cloud to be recorded. Events are used only to derive aggregate usage patterns across all Cypress instances.
"""
recordEvent(
campaign: String!
cohort: String
includeMachineId: Boolean
medium: String!
messageId: String!
"""(optional) stringified JSON object with supplemental data"""
payload: String
): Boolean
"""
Signal that we are explicitly refetching remote data and should not use the server cache
"""
refetchRemote: Query
"""Clears the cloudViewer cache to refresh the organizations and projects"""
refreshCloudViewer: Query
"""Remove project from projects array and cache"""
removeProject(path: String!): Query
"""Reset the Auth State"""
resetAuthState: Query!
"""Resets error and attempts to reload the config"""
resetErrorAndLoadConfig(id: ID!): Query
"""
Resets the latest version call to capture additional telemetry for the current user
"""
resetLatestVersionTelemetry: Boolean!
"""Reset the Wizard to the starting position"""
resetWizard: Boolean!
scaffoldTestingType: Query
setAndLoadCurrentTestingType(testingType: TestingTypeEnum!): Query
"""Set active project to run tests on"""
setCurrentProject(path: String!): Query
"""
Update local preferences (also known as appData). The payload, `value`, should be a `JSON.stringified()` object of the new values you'd like to persist. Example: `setPreferences (value: JSON.stringify({ lastOpened: Date.now() }), "local")`
"""
setPreferences(type: PreferencesTypeEnum!, value: String!): Query
"""Set the projectId field in the config file of the current project"""
setProjectIdInConfigFile(projectId: String!): Query
"""
Save the projects preferences to cache, e.g. in dev: Library/Application Support/Cypress/cy/staging/cache
"""
setProjectPreferencesInGlobalCache(testingType: TestingTypeEnum!): Query!
"""Save the prompt-shown state for this project"""
setPromptShown(slug: String!): Boolean
"""List of specs to run for the "Run All Specs" Feature"""
setRunAllSpecs(runAllSpecs: [String!]!): Boolean
"""Set failed tests for the current run to be used by the runner"""
setTestsForRun(testsBySpec: [TestsBySpecInput!]!): Boolean
"""Switch Testing type and relaunch browser"""
switchTestingTypeAndRelaunch(testingType: TestingTypeEnum!): Boolean
"""Return the set of test titles for the given spec path"""
testsForRun(
"""Spec path relative to the project in posix format"""
spec: String!
): [String!]
"""Updates the different fields of the wizard data store"""
wizardUpdate(input: WizardUpdateInput!): Wizard
}
"""Implements the Relay Node spec"""
interface Node {
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
}
"""Possible operating systems for a build"""
enum OperatingSystemsEnum {
LINUX
MAC
UNKNOWN
WINDOWS
}
"""What to do when the run is over the limit"""
enum OverLimitActionTypeEnum {
CONTACT_ADMIN
UPGRADE
}
enum PackageManagerEnum {
npm
pnpm
yarn
}
"""
PageInfo cursor, as defined in https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
"""
type PageInfo {
"""
The cursor corresponding to the last nodes in edges. Null if the connection is empty.
"""
endCursor: String
"""
Used to indicate whether more edges exist following the set defined by the clients arguments.
"""
hasNextPage: Boolean!
"""
Used to indicate whether more edges exist prior to the set defined by the clients arguments.
"""
hasPreviousPage: Boolean!
"""
The cursor corresponding to the first nodes in edges. Null if the connection is empty.
"""
startCursor: String
}
enum PluginsState {
error
initialized
initializing
uninitialized
}
enum PreferencesTypeEnum {
global
project
}
"""Common base fields inherited by GlobalProject / CurrentProject"""
interface ProjectLike {
"""
A refetchable remote field implementation to fetch the cloudProject,
this can safely be used when rendering a list of projects
"""
cloudProjectRemote(
"""A globally unique name for this field"""
name: String!
): RemoteFetchableCloudProjectResult
"""Used to associate project with Cypress Cloud"""
projectId: String
"""Absolute path to the project on the filesystem"""
projectRoot: String!
title: String!
}
"""Preferences specific to a project"""
type ProjectPreferences {
"""The preferred testing type to start in"""
testingType: String
}
type PushFragmentPayload {
"""Raw data associated with the fragment to be written into the cache"""
data: JSON
"""Any errors encountered when executing the operation"""
errors: JSON
fragment: JSON!
"""If present, indicates we need to invalidate the client-side cache"""
invalidateCache: Boolean
target: String!
"""Variables associated with the fragment"""
variables: JSON
}
"""The root "Query" type containing all entry fields for our querying"""
type Query {
"""The latest state of the auth process"""
authState: AuthState!
baseError: ErrorWrapper
cachedUser: CachedUser
"""
Polling query to determine when to refetch spec data. A null value here means no data available in the cloud.
"""
cloudLatestRunUpdateSpecData(
"""
Clients active branch to search for builds. This will fallback to the closest branch with data.
"""
commitBranch: String!
"""A list of Project slugs"""
projectSlug: String!
"""DateTime since the fetched data"""
sinceDateTime: DateTime
): CloudLatestRunUpdateSpecData
"""Returns an object conforming to the Relay spec"""
cloudNode(
"""An ID for a Node conforming to the Relay spec"""
id: ID!
): Node
"""Returns a list of cloud nodes, by ID. Max 100 nodes per batch"""
cloudNodesByIds(
"""A list of IDs for a Node, conforming to the Relay spec"""
ids: [ID!]!
): [Node]
"""Lookup an individual project by the slug"""
cloudProjectBySlug(slug: String!): CloudProjectResult
"""Lookup a list of projects by their slug"""
cloudProjectsBySlugs(
"""A list of Project slugs"""
slugs: [String!]!
): [CloudProjectResult]
"""Gets a set of specs on a given project and branch"""
cloudSpecByPath(
"""Slug of the project to which the set of specs belong"""
projectSlug: String!
"""The spec path to find"""
specPath: String!
): CloudProjectSpecResult
"""A user within the Cypress Cloud"""
cloudViewer: CloudUser
"""Return the cohort for the given name"""
cohort(
"""the name of the cohort to find"""
name: String!
): Cohort
"""The currently opened project"""
currentProject: CurrentProject
"""The state of any info related to local development of the runner"""
dev: DevState!
"""
Whether the app was invoked from the CLI, false if user is using the binary directly (not invoked from package manager e.g. npm)
"""
invokedFromCli: Boolean!
"""
Whether the app is in global mode or not. This is based off the presence of a project, which is set by the CLI (or absent if the app is run directly). See cli/lib/exec/open.js for the logic that sets the project or not.
"""
isGlobalMode: Boolean!
"""local settings on a device-by-device basis"""
localSettings: LocalSettings!
"""
Unique node machine identifier for this instance - may be nil if unable to resolve
"""
machineId: String
"""Metadata about the migration, null if we aren't showing it"""
migration: Migration
node(id: ID!): Node
"""Defines the suggested polling intervals for various schema resources"""
pollingIntervals: CloudPollingIntervals
"""All known projects for the app"""
projects: [ProjectLike!]!
"""The files that have just been scaffolded"""
scaffoldedFiles: [ScaffoldedFile!]
"""Previous versions of cypress and their release date"""
versions: VersionData
"""A list of warnings"""
warnings: [ErrorWrapper!]!
"""Metadata about the wizard"""
wizard: Wizard!
}
"""Properties describing a React component"""
type ReactComponentDescriptor {
"""
The name of the component export e.g. "export const Foo"
"""
exportName: String!
"""
Whether the component is a default export e.g. "export default Foo"
"""
isDefault: Boolean!
}
"""Response from getReactComponentsFromFile"""
type ReactComponentResponse {
"""Components that are exported from the parsed file"""
components: [ReactComponentDescriptor!]!
"""Whether or not there was there an error when parsing the file"""
errored: Boolean
}
"""
Indicates builds from the Cypress Cloud that most closely align with the current local Git commit
"""
type RelevantRun {
"""
All relevant runs to fetch for the debug page prior to the latest completed run
"""
all: [RelevantRunInfo!]!
"""
How many commits ahead the current local commit is from the commit of the current run
"""
commitsAhead: Int!
"""Information about the current commit for the local project"""
currentCommitInfo: CommitInfo
"""Run number of the selected run in use on the Debug page"""
selectedRunNumber: Int
}
"""runNumber and commitSha for a given run"""
type RelevantRunInfo {
"""The runNumber that these spec counts belong to"""
runNumber: Int!
"""sha associated with the run"""
sha: String!
"""Status for run"""
status: CloudRunStatus
}
enum RelevantRunLocationEnum {
DEBUG
SIDEBAR
}
"""
Represents a container for a piece of remote data stitched into the graph
"""
interface RemoteFetchable implements Node {
"""The raw data response when resolving the data"""
dataRaw: JSON
"""JSON representation of the error response"""
error: JSON
"""The current fetching status of the fetchable data"""
fetchingStatus: RemoteFetchableStatus!
"""Globally unique identifier representing a concrete GraphQL ObjectType"""
id: ID!
"""Prints the full operation sent for this query, for debugging purposes"""
operation: String!
"""The hash of the operation, for debugging purposes"""
operationHash: String!
"""The variables passed to the operation, for debugging purposes"""
operationVariables: JSON!
}
"""
Wrapper for the resolution remote RemoteFetchableCloudProjectResult data
"""
type RemoteFetchableCloudProjectResult implements Node & RemoteFetchable {
"""Data resolved for the RemoteFetchableCloudProjectResult from the cloud"""
data: CloudProjectResult
"""The raw data response when resolving the data"""
dataRaw: JSON
"""JSON representation of the error response"""
error: JSON
"""The current fetching status of the fetchable data"""
fetchingStatus: RemoteFetchableStatus!
"""
This ID is generated based on hashes of the queried data, and should be passed to the loadRemoteFetchables mutation to initiate loading the remote data
"""
id: ID!
"""Prints the full operation sent for this query, for debugging purposes"""
operation: String!
"""The hash of the operation, for debugging purposes"""
operationHash: String!
"""The variables passed to the operation, for debugging purposes"""
operationVariables: JSON!
}
"""
Wrapper for the resolution remote RemoteFetchableCloudProjectSpecResult data
"""
type RemoteFetchableCloudProjectSpecResult implements Node & RemoteFetchable {
"""
Data resolved for the RemoteFetchableCloudProjectSpecResult from the cloud
"""
data: CloudProjectSpecResult
"""The raw data response when resolving the data"""
dataRaw: JSON
"""JSON representation of the error response"""
error: JSON
"""The current fetching status of the fetchable data"""
fetchingStatus: RemoteFetchableStatus!
"""
This ID is generated based on hashes of the queried data, and should be passed to the loadRemoteFetchables mutation to initiate loading the remote data
"""
id: ID!
"""Prints the full operation sent for this query, for debugging purposes"""
operation: String!
"""The hash of the operation, for debugging purposes"""
operationHash: String!
"""The variables passed to the operation, for debugging purposes"""
operationVariables: JSON!
}
enum RemoteFetchableStatus {
"""Errored while fetching"""
ERRORED
"""We have loaded the remote data"""
FETCHED
"""Currently fetching"""
FETCHING
"""Has not been fetched yet"""
NOT_FETCHED
}
"""Possible check status of the instances run"""
enum RunInstanceStatusEnum {
CANCELLED
ERRORED
FAILED
NOTESTS
PASSED
RUNNING
TIMEDOUT
UNCLAIMED
}
"""A file that we just added to the filesystem during project setup"""
type ScaffoldedFile {
"""Info about the file we just scaffolded"""
description: String!
"""Info about the file"""
file: FileParts!
"""Info about the field"""
status: WizardConfigFileStatusEnum!
}
"""Represents a spec on the file system"""
type Spec implements Node {
"""
Absolute path to spec (e.g. /Users/jess/my-project/src/component/MySpec.test.tsx)
"""
absolute: String!
"""Full name of spec file (e.g. MySpec.test.tsx)"""
baseName: String!
"""Wrapper for resolving remote data associated with this field"""
cloudSpec(
"""A globally unique name for this field"""
name: String!
): RemoteFetchableCloudProjectSpecResult
"""The file extension (e.g. tsx, jsx)"""
fileExtension: String!
"""The first part of the file, without extensions (e.g. MySpec)"""
fileName: String!
"""Git information about the spec file"""
gitInfo: GitInfo
"""Relay style Node ID field for the Spec field"""
id: ID!
"""Full name of spec file (e.g. MySpec.test.tsx)"""
name: String!
"""Relative path to spec (e.g. src/component/MySpec.test.tsx)"""
relative: String!
"""
The spec file's extension, including "spec" pattern (e.g. .spec.tsx, -spec.tsx, -test.tsx)
"""
specFileExtension: String!
"""Type of spec (e.g. component | integration)"""
specType: SpecType!
}
"""Aggregate data from multiple groups for a spec run"""
type SpecDataAggregate {
"""Maximum value in the groups"""
max: Int
"""Minimum value in the groups"""
min: Int
}
enum SpecType {
component
integration
}
type Subscription {
"""Triggered when the auth state changes"""
authChange: Query
"""Issued when the current branch of a project changes"""
branchChange: CurrentProject
"""Status of the currently opened browser"""
browserStatusChange: CurrentProject
"""
Triggered when there is a change to the info associated with the cloud project (org added, project added)
"""
cloudViewerChange: Query
"""Issued when cypress.config.js is re-executed due to a change"""
configChange: CurrentProject
"""Issued for internal development changes"""
devChange: DevState
"""Triggered when the base error or warning state changes"""
errorWarningChange: Query
"""
Triggered when there is a change to the automatically-detected framework/bundler for a CT project
"""
frameworkDetectionChange: Wizard
"""
When the git info has refreshed for some or all of the specs, we fire this event with the specs updated
"""
gitInfoChange: [Spec]
"""
When we have resolved a section of a query, and want to update the local normalized cache, we "push" the fragment to the frontend to merge in the client side cache
"""
pushFragment: [PushFragmentPayload!]!
"""
Subscription that watches the given CloudRun id for changes and emits if changes are detected on the fields provided
"""
relevantRunSpecChange(runId: ID!): CloudRun
"""
Subscription that polls the cloud for new relevant runs that match local git commit hashes
"""
relevantRuns(location: RelevantRunLocationEnum!): RelevantRun
"""Issued when the watched specs for the project changes"""
specsChange: CurrentProject
"""
Initiates the polling mechanism with the Cypress Cloud to check if we should refetch specs, and mark specs as stale if we have updates
"""
startPollingForSpecs(branchName: String, projectId: String): String
}
enum SupportStatusEnum {
alpha
beta
community
full
}
"""The bundlers that we can use with Cypress"""
enum SupportedBundlers {
vite
webpack
}
enum TestingTypeEnum {
component
e2e
}
type TestingTypeInfo implements Node {
description: String!
"""Relay style Node ID field for the TestingTypeInfo field"""
id: ID!
title: String!
type: TestingTypeEnum!
}
"""
Represents the input for setting a mapping of test titles by the spec path
"""
input TestsBySpecInput {
"""Path to the spec relative to the project"""
specPath: String!
"""Full test title which should be all parts joined by a space"""
tests: [String!]!
}
"""A run was hidden because it was over the usage limit"""
type UsageLimitExceeded {
"""The number of tests allowed per month"""
monthlyTests: Int
}
"""Version of Cypress and release date"""
type Version {
"""unique id"""
id: String!
"""Release date as an iso8601 timestamp"""
released: String!
"""Version number (follows semantic versioning)"""
version: String!
}
"""Version of Cypress and release date"""
type VersionData {
"""current version of cypress you are using"""
current: Version!
"""latest version of cypress"""
latest: Version!
}
"""
The Wizard is a container for any state associated with initial onboarding to Cypress
"""
type Wizard {
"""All of the bundlers to choose from"""
allBundlers: [WizardBundler!]!
bundler: WizardBundler
"""
Framework definitions that had a package.json detected but could not be loaded due to an error
"""
erroredFrameworks: [WizardErroredFramework!]!
framework: WizardFrontendFramework
"""All of the component testing frameworks to choose from"""
frameworks: [WizardFrontendFramework!]!
"""Command to install required command"""
installDependenciesCommand: String
"""
A list of packages to install, null if we have not chosen both a framework and bundler
"""
packagesToInstall: [WizardNpmPackage!]!
}
"""Wizard bundler"""
type WizardBundler implements Node {
"""Relay style Node ID field for the WizardBundler field"""
id: ID!
"""Whether this is the detected bundler"""
isDetected: Boolean!
"""Display name of the bundler"""
name: String!
"""The name of the framework"""
type: SupportedBundlers!
}
enum WizardConfigFileStatusEnum {
changes
error
skipped
valid
}
"""Represents a Framework Definition that failed to load when detected"""
type WizardErroredFramework implements Node {
"""Relay style Node ID field for the WizardErroredFramework field"""
id: ID!
"""The location of the framework's package.json file"""
path: String
}
"""A frontend framework that we can setup within the app"""
type WizardFrontendFramework implements Node {
"""The category (framework, like react-scripts, or library, like react"""
category: String!
"""Raw SVG icon of framework"""
icon: String
"""Relay style Node ID field for the WizardFrontendFramework field"""
id: ID!
"""Whether this is the detected framework"""
isDetected: Boolean!
"""Whether this is the selected framework in the wizard"""
isSelected: Boolean!
"""The display name of the framework"""
name: String!
"""Current support status of the framework"""
supportStatus: SupportStatusEnum!
"""All of the supported bundlers for this framework"""
supportedBundlers: [WizardBundler!]!
"""The unique identifier for a framework or library"""
type: String!
}
"""Details about an NPM Package listed during the wizard install"""
type WizardNpmPackage implements Node {
"""Short description about the purpose of the package"""
description: String!
"""Version of the package the user has installed"""
detectedVersion: String
"""Relay style Node ID field for the WizardNpmPackage field"""
id: ID!
"""Minimum version of the package that Cypress works with"""
minVersion: String!
"""The package name that you would npm install"""
name: String!
"""Name of the package on npm"""
package: String!
"""
If the package is installed, does the version satisfy Cypress minimum requirements
"""
satisfied: Boolean!
}
input WizardUpdateInput {
bundler: SupportedBundlers
framework: String
}