Repository: cypress-io/cypress
File: packages/server/lib/experiments.ts (TypeScript)

Code before:
  [key: string]: string
}

/**
 * Keeps summaries of experiments. Each summary is 1 - 2 sentences
 * describing the purpose of the experiment.
 * When adding an experiment, add its summary text here.
 *
 * @example
  ```
  {
    experimentalRunAllSpecs: 'Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially'
  }
  ```
*/
const _summaries: StringValues = {
  experimentalInteractiveRunEvents: 'Allows listening to the `before:run`, `after:run`, `before:spec`, and `after:spec` events in the plugins file during interactive mode.',
  experimentalModifyObstructiveThirdPartyCode: 'Applies `modifyObstructiveCode` to third party `.html` and `.js`, removes subresource integrity, and modifies the user agent in Electron.',
  experimentalSourceRewriting: 'Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm.',
  experimentalSingleTabRunMode: 'Runs all component specs in a single tab, trading spec isolation for faster run mode execution.',
  experimentalStudio: 'Generate and save commands directly to your test suite by interacting with your app as an end user would.',
  experimentalWebKitSupport: 'Adds support for testing in the WebKit browser engine used by Safari. See https://on.cypress.io/webkit-experiment for more information.',
  experimentalRunAllSpecs: 'Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially',
  experimentalOriginDependencies: 'Enables support for `Cypress.require()` for including dependencies within the `cy.origin()` callback.',
  experimentalMemoryManagement: 'Enables support for improved memory management within Chromium-based browsers.',
  experimentalPromptCommand: 'Enabless support for `cy.prompt`, an AI-powered command that turns natural language steps into executable Cypress test code.',
}

/**
 * Keeps short names for experiments. When adding new experiments, add a short name.
 * The name and summary will be shown in the Settings tab of the Desktop GUI.
 * @example
  ```
  {
    experimentalRunAllSpecs: 'Run All Specs'
  }
  ```
*/
const _names: StringValues = {
  experimentalInteractiveRunEvents: 'Interactive Mode Run Events',
  experimentalModifyObstructiveThirdPartyCode: 'Modify Obstructive Third Party Code',
  experimentalSingleTabRunMode: 'Single Tab Run Mode',
  experimentalSourceRewriting: 'Improved Source Rewriting',
  experimentalStudio: 'Studio',
  experimentalWebKitSupport: 'WebKit Support',
  experimentalRunAllSpecs: 'Run All Specs',
  experimentalOriginDependencies: 'Origin Dependencies',
  experimentalMemoryManagement: 'Memory Management',
  experimentalPromptCommand: 'Prompt Command',
}


Review comment (suggestion):
```suggestion
  experimentalPromptCommand: 'Enables support for `cy.prompt`, an AI-powered command that turns natural language steps into executable Cypress test code.',
```

Code after:
  [key: string]: string
}

/**
 * Keeps summaries of experiments. Each summary is 1 - 2 sentences
 * describing the purpose of the experiment.
 * When adding an experiment, add its summary text here.
 *
 * @example
  ```
  {
    experimentalRunAllSpecs: 'Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially'
  }
  ```
*/
const _summaries: StringValues = {
  experimentalInteractiveRunEvents: 'Allows listening to the `before:run`, `after:run`, `before:spec`, and `after:spec` events in the plugins file during interactive mode.',
  experimentalModifyObstructiveThirdPartyCode: 'Applies `modifyObstructiveCode` to third party `.html` and `.js`, removes subresource integrity, and modifies the user agent in Electron.',
  experimentalSourceRewriting: 'Enables AST-based JS/HTML rewriting. This may fix issues caused by the existing regex-based JS/HTML replacement algorithm.',
  experimentalSingleTabRunMode: 'Runs all component specs in a single tab, trading spec isolation for faster run mode execution.',
  experimentalStudio: 'Generate and save commands directly to your test suite by interacting with your app as an end user would.',
  experimentalWebKitSupport: 'Adds support for testing in the WebKit browser engine used by Safari. See https://on.cypress.io/webkit-experiment for more information.',
  experimentalRunAllSpecs: 'Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially',
  experimentalOriginDependencies: 'Enables support for `Cypress.require()` for including dependencies within the `cy.origin()` callback.',
  experimentalMemoryManagement: 'Enables support for improved memory management within Chromium-based browsers.',
  experimentalPromptCommand: 'Enables support for `cy.prompt`, an AI-powered command that turns natural language steps into executable Cypress test code.',
}

/**
 * Keeps short names for experiments. When adding new experiments, add a short name.
 * The name and summary will be shown in the Settings tab of the Desktop GUI.
 * @example
  ```
  {
    experimentalRunAllSpecs: 'Run All Specs'
  }
  ```
*/
const _names: StringValues = {
  experimentalInteractiveRunEvents: 'Interactive Mode Run Events',
  experimentalModifyObstructiveThirdPartyCode: 'Modify Obstructive Third Party Code',
  experimentalSingleTabRunMode: 'Single Tab Run Mode',
  experimentalSourceRewriting: 'Improved Source Rewriting',
  experimentalStudio: 'Studio',
  experimentalWebKitSupport: 'WebKit Support',
  experimentalRunAllSpecs: 'Run All Specs',
  experimentalOriginDependencies: 'Origin Dependencies',
  experimentalMemoryManagement: 'Memory Management',
  experimentalPromptCommand: 'Prompt Command',
}