{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:f54ec275-9c6d-43c1-911c-41f89a09309c",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-25T07:28:55Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "browser",
      "group": "@vitest",
      "version": "4.1.7",
      "description": "Browser running for Vitest",
      "purl": "pkg:npm/%40vitest/browser@4.1.7",
      "bom-ref": "pkg:npm/@vitest/browser@4.1.7",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "typecheck, typecheck:why, build, build:client, build:node, dev:client, dev:node, dev"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build, build:client, build:node"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vitest.dev/guide/browser/"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@blazediff\\n@opentelemetry\\n@testing-library\\n@types\\n@vitest"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@blazediff/core/package.json\\nnode_modules/@opentelemetry/api/package.json\\nnode_modules/@testing-library/user-event/package.json\\nnode_modules/@types/pngjs/package.json\\nnode_modules/@types/ws/package.json\\nnode_modules/@vitest/mocker/package.json\\nnode_modules/@vitest/runner/package.json\\nnode_modules/@vitest/utils/package.json\\nnode_modules/birpc/package.json\\nnode_modules/flatted/package.json\\nnode_modules/ivya/package.json\\nnode_modules/magic-string/package.json\\nnode_modules/mime/package.json\\nnode_modules/pathe/package.json\\nnode_modules/pngjs/package.json\\nnode_modules/sirv/package.json\\nnode_modules/tinyrainbow/package.json\\nnode_modules/vitest/package.json\\nnode_modules/ws/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Einar Otto Stangvik <einaros@gmail.com> (http://2x.io)"
        }
      ],
      "group": "",
      "name": "ws",
      "version": "8.19.0",
      "description": "Simple to use, blazing fast and thoroughly tested websocket client and server for Node.js",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ws@8.19.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/websockets/ws"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/websockets/ws.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ws@8.19.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/ws/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "ws,WebSocketServer,ws/WebSocketServer,WebSocket,ws/WebSocket"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/ws/package.json"
              }
            ],
            "concludedValue": "node_modules/ws/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 19
          },
          {
            "location": "src/node/rpc.ts",
            "line": 5
          },
          {
            "location": "src/node/rpc.ts",
            "line": 17
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "vitest",
      "version": "4.1.7",
      "description": "Next generation testing framework powered by Vite",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vitest@4.1.7",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vitest.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vitest@4.1.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vitest/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "vitest/node"
        },
        {
          "name": "ImportedModules",
          "value": "vitest,vitest/vi,vitest/internal/browser,__INTERNAL,vitest/internal/browser/__INTERNAL,stringify,vitest/internal/browser/stringify,Snapshots,vitest/Snapshots,recordArtifact,vitest/recordArtifact,expect,vitest/expect,chai,vitest/chai,getType,vitest/internal/browser/getType,vitest/browser,server,vitest/browser/server,page,vitest/browser/page,utils,vitest/browser/utils,getSafeTimers,vitest/internal/browser/getSafeTimers,vitest/node,isValidApiRequest,vitest/node/isValidApiRequest,isFileServingAllowed,vitest/node/isFileServingAllowed,distDir,vitest/node/distDir,rolldownVersion,vitest/node/rolldownVersion,resolveApiServerConfig,vitest/node/resolveApiServerConfig,resolveFsAllow,vitest/node/resolveFsAllow,isFileLoadingAllowed,vitest/node/isFileLoadingAllowed,createDebugger,vitest/node/createDebugger,createViteLogger,vitest/node/createViteLogger,createViteServer,vitest/node/createViteServer,OTELCarrier,vitest/internal/browser/OTELCarrier,BrowserTesterOptions,vitest/BrowserTesterOptions,SerializedConfig,vitest/SerializedConfig,Traces,vitest/internal/browser/Traces,RunnerTask,vitest/RunnerTask,BrowserLocators,vitest/browser/BrowserLocators,BrowserPage,vitest/browser/BrowserPage,Locator,vitest/browser/Locator,LocatorSelectors,vitest/browser/LocatorSelectors,MarkOptions,vitest/browser/MarkOptions,UserEvent,vitest/browser/UserEvent,UserEventWheelOptions,vitest/browser/UserEventWheelOptions,StringifyOptions,vitest/internal/browser/StringifyOptions,Assertion,vitest/Assertion,ExpectPollOptions,vitest/ExpectPollOptions,PromisifyDomAssertion,vitest/PromisifyDomAssertion,LocatorByRoleOptions,vitest/browser/LocatorByRoleOptions,LocatorOptions,vitest/browser/LocatorOptions,LocatorScreenshotOptions,vitest/browser/LocatorScreenshotOptions,SelectorOptions,vitest/browser/SelectorOptions,UserEventClearOptions,vitest/browser/UserEventClearOptions,UserEventClickOptions,vitest/browser/UserEventClickOptions,UserEventDragAndDropOptions,vitest/browser/UserEventDragAndDropOptions,UserEventFillOptions,vitest/browser/UserEventFillOptions,UserEventHoverOptions,vitest/browser/UserEventHoverOptions,UserEventSelectOptions,vitest/browser/UserEventSelectOptions,UserEventUploadOptions,vitest/browser/UserEventUploadOptions,browserFormat,vitest/internal/browser/browserFormat,TestExecutionMethod,vitest/TestExecutionMethod,WorkerGlobalState,vitest/WorkerGlobalState,BenchmarkRunner,vitest/BenchmarkRunner,TestRunner,vitest/TestRunner,userEvent,vitest/browser/userEvent,DecodedMap,vitest/internal/browser/DecodedMap,getOriginalPosition,vitest/internal/browser/getOriginalPosition,loadDiffConfig,vitest/internal/browser/loadDiffConfig,loadSnapshotSerializers,vitest/internal/browser/loadSnapshotSerializers,takeCoverageInsideWorker,vitest/internal/browser/takeCoverageInsideWorker,ParsedStack,vitest/internal/browser/ParsedStack,vitest/runtime,SnapshotEnvironment,vitest/runtime/SnapshotEnvironment,UserEventWheelDeltaOptions,vitest/browser/UserEventWheelDeltaOptions,collectTests,vitest/internal/browser/collectTests,setupCommonEnv,vitest/internal/browser/setupCommonEnv,SpyModule,vitest/internal/browser/SpyModule,startCoverageInsideWorker,vitest/internal/browser/startCoverageInsideWorker,startTests,vitest/internal/browser/startTests,stopCoverageInsideWorker,vitest/internal/browser/stopCoverageInsideWorker,BrowserUI,vitest/BrowserUI,CDPSession,vitest/node/CDPSession,BrowserCommands,vitest/browser/BrowserCommands,BrowserCommand,vitest/node/BrowserCommand,TestProject,vitest/node/TestProject,BrowserCommandContext,vitest/node/BrowserCommandContext,SnapshotUpdateState,vitest/SnapshotUpdateState,ScreenshotMatcherOptions,vitest/browser/ScreenshotMatcherOptions,BrowserConfigOptions,vitest/node/BrowserConfigOptions,BrowserProviderOption,vitest/node/BrowserProviderOption,BrowserServerFactory,vitest/node/BrowserServerFactory,vitest/config,Plugin,vitest/config/Plugin,BrowserProvider,vitest/node/BrowserProvider,vitest/ParsedStack,TestError,vitest/TestError,ProjectBrowser,vitest/node/ProjectBrowser,ResolvedConfig,vitest/node/ResolvedConfig,Vitest,vitest/node/Vitest,BrowserScript,vitest/node/BrowserScript,Vite,vitest/node/Vite,ResolveSnapshotPathHandlerContext,vitest/node/ResolveSnapshotPathHandlerContext,BrowserServerState,vitest/node/BrowserServerState,ResolvedBrowserOptions,vitest/node/ResolvedBrowserOptions,AfterSuiteRunMeta,vitest/AfterSuiteRunMeta,CancelReason,vitest/CancelReason,RunnerTestFile,vitest/RunnerTestFile,SerializedTestSpecification,vitest/SerializedTestSpecification,SnapshotResult,vitest/SnapshotResult,UserConsoleLog,vitest/UserConsoleLog"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vitest/package.json"
              }
            ],
            "concludedValue": "node_modules/vitest/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/context.js",
            "line": 1
          },
          {
            "location": "dist/context.js",
            "line": 2
          },
          {
            "location": "dist/context.js",
            "line": 309
          },
          {
            "location": "dist/context.js",
            "line": 322
          },
          {
            "location": "dist/expect-element.js",
            "line": 1
          },
          {
            "location": "dist/expect-element.js",
            "line": 2
          },
          {
            "location": "dist/expect-element.js",
            "line": 3
          },
          {
            "location": "dist/expect-element.js",
            "line": 4
          },
          {
            "location": "dist/expect-element.js",
            "line": 5
          },
          {
            "location": "dist/expect-element.js",
            "line": 6
          },
          {
            "location": "dist/expect-element.js",
            "line": 7
          },
          {
            "location": "dist/expect-element.js",
            "line": 8
          },
          {
            "location": "dist/expect-element.js",
            "line": 9
          },
          {
            "location": "dist/expect-element.js",
            "line": 10
          },
          {
            "location": "dist/expect-element.js",
            "line": 12
          },
          {
            "location": "dist/expect-element.js",
            "line": 13
          },
          {
            "location": "dist/expect-element.js",
            "line": 14
          },
          {
            "location": "dist/expect-element.js",
            "line": 15
          },
          {
            "location": "dist/expect-element.js",
            "line": 16
          },
          {
            "location": "dist/expect-element.js",
            "line": 17
          },
          {
            "location": "dist/expect-element.js",
            "line": 18
          },
          {
            "location": "dist/expect-element.js",
            "line": 19
          },
          {
            "location": "dist/expect-element.js",
            "line": 20
          },
          {
            "location": "dist/expect-element.js",
            "line": 21
          },
          {
            "location": "dist/expect-element.js",
            "line": 23
          },
          {
            "location": "dist/expect-element.js",
            "line": 24
          },
          {
            "location": "dist/expect-element.js",
            "line": 26
          },
          {
            "location": "dist/expect-element.js",
            "line": 27
          },
          {
            "location": "dist/expect-element.js",
            "line": 30
          },
          {
            "location": "dist/expect-element.js",
            "line": 32
          },
          {
            "location": "dist/expect-element.js",
            "line": 33
          },
          {
            "location": "dist/expect-element.js",
            "line": 34
          },
          {
            "location": "dist/index-D8jtZoIM.js",
            "line": 1
          },
          {
            "location": "dist/index.js",
            "line": 4
          },
          {
            "location": "dist/locators.js",
            "line": 1
          },
          {
            "location": "src/client/channel.ts",
            "line": 2
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 4
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 8
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 14
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 5
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 14
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 15
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 19
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 20
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 148
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 163
          },
          {
            "location": "src/client/tester/expect/toBeVisible.ts",
            "line": 19
          },
          {
            "location": "src/client/tester/expect/toHaveStyle.ts",
            "line": 3
          },
          {
            "location": "src/client/tester/expect/toMatchScreenshot.ts",
            "line": 6
          },
          {
            "location": "src/client/tester/expect/toMatchScreenshot.ts",
            "line": 92
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 2
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 3
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 4
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 17
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 86
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 87
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 16
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 28
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 29
          },
          {
            "location": "src/client/tester/logger.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/rpc.ts",
            "line": 2
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 13
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 16
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 21
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 22
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 29
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 177
          },
          {
            "location": "src/client/tester/snapshot.ts",
            "line": 2
          },
          {
            "location": "src/client/tester/snapshot.ts",
            "line": 3
          },
          {
            "location": "src/client/tester/snapshot.ts",
            "line": 4
          },
          {
            "location": "src/client/tester/state.ts",
            "line": 2
          },
          {
            "location": "src/client/tester/tester-utils.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 5
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 14
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 241
          },
          {
            "location": "src/client/ui.ts",
            "line": 1
          },
          {
            "location": "src/client/utils.ts",
            "line": 2
          },
          {
            "location": "src/client/utils.ts",
            "line": 3
          },
          {
            "location": "src/node/cdp.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 2
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 6
          },
          {
            "location": "src/node/commands/screenshot.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/screenshotMatcher/comparators/index.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 2
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 3
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 4
          },
          {
            "location": "src/node/commands/trace.ts",
            "line": 1
          },
          {
            "location": "src/node/index.ts",
            "line": 1
          },
          {
            "location": "src/node/index.ts",
            "line": 5
          },
          {
            "location": "src/node/plugin.ts",
            "line": 2
          },
          {
            "location": "src/node/plugin.ts",
            "line": 18
          },
          {
            "location": "src/node/plugin.ts",
            "line": 24
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 2
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 3
          },
          {
            "location": "src/node/project.ts",
            "line": 3
          },
          {
            "location": "src/node/project.ts",
            "line": 4
          },
          {
            "location": "src/node/project.ts",
            "line": 13
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 3
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 12
          },
          {
            "location": "src/node/rpc.ts",
            "line": 3
          },
          {
            "location": "src/node/rpc.ts",
            "line": 4
          },
          {
            "location": "src/node/rpc.ts",
            "line": 16
          },
          {
            "location": "src/node/state.ts",
            "line": 1
          },
          {
            "location": "src/node/utils.ts",
            "line": 6
          },
          {
            "location": "src/types.ts",
            "line": 13
          },
          {
            "location": "dist/context.js",
            "line": 547
          },
          {
            "location": "dist/context.js",
            "line": 562
          },
          {
            "location": "dist/context.js",
            "line": 610
          },
          {
            "location": "dist/context.js",
            "line": 619
          },
          {
            "location": "dist/index-D8jtZoIM.js",
            "line": 2
          },
          {
            "location": "dist/index-D8jtZoIM.js",
            "line": 3
          },
          {
            "location": "dist/index-D8jtZoIM.js",
            "line": 4
          },
          {
            "location": "dist/index-D8jtZoIM.js",
            "line": 5
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 450
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 465
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 532
          },
          {
            "location": "src/client/tester/context.ts",
            "line": 544
          },
          {
            "location": "src/client/tester/expect-element.ts",
            "line": 14
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 51
          },
          {
            "location": "src/client/tester/logger.ts",
            "line": 33
          },
          {
            "location": "src/client/tester/logger.ts",
            "line": 117
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 263
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 340
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 355
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 356
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 389
          },
          {
            "location": "src/client/tester/snapshot.ts",
            "line": 52
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 211
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 214
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 238
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 239
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 284
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 199
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 296
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 354
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 80
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 171
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 271
          },
          {
            "location": "dist/index.js",
            "line": 1006
          },
          {
            "location": "dist/index.js",
            "line": 1010
          },
          {
            "location": "dist/index.js",
            "line": 1192
          },
          {
            "location": "dist/index.js",
            "line": 1202
          },
          {
            "location": "dist/index.js",
            "line": 1887
          },
          {
            "location": "dist/index.js",
            "line": 2977
          },
          {
            "location": "dist/index.js",
            "line": 2991
          },
          {
            "location": "dist/index.js",
            "line": 3045
          },
          {
            "location": "dist/index.js",
            "line": 7863
          },
          {
            "location": "dist/index.js",
            "line": 7866
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 11
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 12
          },
          {
            "location": "src/node/index.ts",
            "line": 45
          },
          {
            "location": "src/node/index.ts",
            "line": 52
          },
          {
            "location": "src/node/plugin.ts",
            "line": 138
          },
          {
            "location": "src/node/plugin.ts",
            "line": 144
          },
          {
            "location": "src/node/plugin.ts",
            "line": 367
          },
          {
            "location": "src/node/plugin.ts",
            "line": 382
          },
          {
            "location": "src/node/rpc.ts",
            "line": 19
          },
          {
            "location": "src/node/rpc.ts",
            "line": 39
          },
          {
            "location": "src/node/rpc.ts",
            "line": 117
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "",
      "name": "tinyrainbow",
      "version": "3.1.0",
      "description": "A small library to print colourful messages.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/tinyrainbow@3.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/tinylibs/tinyrainbow#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/tinylibs/tinyrainbow.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tinyrainbow@3.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/tinyrainbow/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "tinyrainbow"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/tinyrainbow/package.json"
              }
            ],
            "concludedValue": "node_modules/tinyrainbow/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 3
          },
          {
            "location": "dist/index.js",
            "line": 352
          },
          {
            "location": "dist/index.js",
            "line": 4719
          },
          {
            "location": "dist/index.js",
            "line": 7858
          },
          {
            "location": "dist/index.js",
            "line": 7877
          },
          {
            "location": "src/node/index.ts",
            "line": 4
          },
          {
            "location": "src/node/index.ts",
            "line": 31
          },
          {
            "location": "src/node/index.ts",
            "line": 32
          },
          {
            "location": "src/node/index.ts",
            "line": 65
          },
          {
            "location": "src/node/index.ts",
            "line": 66
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Luke Edwards <luke@lukeed.com> (https://lukeed.com)"
        }
      ],
      "group": "",
      "name": "sirv",
      "version": "3.0.2",
      "description": "The optimized & lightweight middleware for serving requests to static assets",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/sirv@3.0.2",
      "type": "library",
      "bom-ref": "pkg:npm/sirv@3.0.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/sirv/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "sirv"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/sirv/package.json"
              }
            ],
            "concludedValue": "node_modules/sirv/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 10
          },
          {
            "location": "dist/index.js",
            "line": 963
          },
          {
            "location": "dist/index.js",
            "line": 1155
          },
          {
            "location": "src/node/plugin.ts",
            "line": 10
          },
          {
            "location": "src/node/plugin.ts",
            "line": 83
          },
          {
            "location": "src/node/plugin.ts",
            "line": 327
          }
        ]
      },
      "tags": [
        "middleware"
      ]
    },
    {
      "group": "",
      "name": "pngjs",
      "version": "7.0.0",
      "description": "PNG encoder/decoder in pure JS, supporting any bit size & interlace, async & sync with full test suite.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/pngjs@7.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/lukeapage/pngjs"
        },
        {
          "type": "vcs",
          "url": "git://github.com/pngjs/pngjs.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/pngjs@7.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/pngjs/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "pngjs,pngjs/PNG,Metadata,pngjs/Metadata,PackerOptions,pngjs/PackerOptions,ParserOptions,pngjs/ParserOptions"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/pngjs/package.json"
              }
            ],
            "concludedValue": "node_modules/pngjs/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 17
          },
          {
            "location": "src/node/commands/screenshotMatcher/codecs/png.ts",
            "line": 1
          },
          {
            "location": "src/node/commands/screenshotMatcher/codecs/png.ts",
            "line": 3
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "group": "",
      "name": "pathe",
      "version": "2.0.3",
      "description": "Universal filesystem path utils",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/pathe@2.0.3",
      "type": "library",
      "bom-ref": "pkg:npm/pathe@2.0.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/pathe/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "pathe,relative,pathe/relative,resolve,pathe/resolve,basename,pathe/basename,dirname,pathe/dirname,extname,pathe/extname,join,pathe/join"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/pathe/package.json"
              }
            ],
            "concludedValue": "node_modules/pathe/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/orchestrator.ts",
            "line": 7
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 445
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 3
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 31
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 32
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 48
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 53
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 54
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 55
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 71
          },
          {
            "location": "src/client/vite.config.ts",
            "line": 74
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 10
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 96
          },
          {
            "location": "src/node/commands/screenshotMatcher/index.ts",
            "line": 461
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 10
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 45
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 60
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 111
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 131
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 137
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 139
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 141
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 142
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 143
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 224
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 267
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 270
          },
          {
            "location": "src/node/constants.ts",
            "line": 2
          },
          {
            "location": "src/node/constants.ts",
            "line": 4
          },
          {
            "location": "src/node/constants.ts",
            "line": 5
          },
          {
            "location": "src/node/plugin.ts",
            "line": 9
          },
          {
            "location": "src/node/plugin.ts",
            "line": 72
          },
          {
            "location": "src/node/plugin.ts",
            "line": 184
          },
          {
            "location": "src/node/plugin.ts",
            "line": 185
          },
          {
            "location": "src/node/plugin.ts",
            "line": 186
          },
          {
            "location": "src/node/plugin.ts",
            "line": 187
          },
          {
            "location": "src/node/plugin.ts",
            "line": 255
          },
          {
            "location": "src/node/plugin.ts",
            "line": 327
          },
          {
            "location": "src/node/plugin.ts",
            "line": 332
          },
          {
            "location": "src/node/plugin.ts",
            "line": 450
          },
          {
            "location": "src/node/plugin.ts",
            "line": 534
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 7
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 17
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 77
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 104
          },
          {
            "location": "src/node/project.ts",
            "line": 17
          },
          {
            "location": "src/node/project.ts",
            "line": 44
          },
          {
            "location": "src/node/project.ts",
            "line": 45
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 17
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 83
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 123
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 124
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 127
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 130
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 132
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 134
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 231
          },
          {
            "location": "src/node/rpc.ts",
            "line": 15
          },
          {
            "location": "src/node/rpc.ts",
            "line": 229
          },
          {
            "location": "src/node/rpc.ts",
            "line": 341
          },
          {
            "location": "src/node/serverTester.ts",
            "line": 6
          },
          {
            "location": "src/node/serverTester.ts",
            "line": 67
          },
          {
            "location": "src/node/utils.ts",
            "line": 10
          },
          {
            "location": "src/node/utils.ts",
            "line": 52
          },
          {
            "location": "src/node/utils.ts",
            "line": 54
          },
          {
            "location": "src/node/utils.ts",
            "line": 55
          },
          {
            "location": "src/node/utils.ts",
            "line": 57
          },
          {
            "location": "src/node/utils.ts",
            "line": 59
          },
          {
            "location": "src/node/utils.ts",
            "line": 64
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Robert Kieffer <robert@broofa.com> (http://github.com/broofa)"
        }
      ],
      "group": "",
      "name": "mime",
      "version": "4.1.0",
      "description": "A comprehensive library for mime-type mapping",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/mime@4.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/broofa/mime"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/mime@4.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/mime/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "mime/lite"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/mime/package.json"
              }
            ],
            "concludedValue": "node_modules/mime/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/node/commands/fs.ts",
            "line": 5
          },
          {
            "location": "src/node/commands/fs.ts",
            "line": 67
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Rich Harris"
        }
      ],
      "group": "",
      "name": "magic-string",
      "version": "0.30.21",
      "description": "Modify strings, generate sourcemaps",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/magic-string@0.30.21",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/Rich-Harris/magic-string.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/magic-string@0.30.21",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/magic-string/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "magic-string"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/magic-string/package.json"
              }
            ],
            "concludedValue": "node_modules/magic-string/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 9
          },
          {
            "location": "src/node/plugin.ts",
            "line": 8
          }
        ]
      }
    },
    {
      "group": "",
      "name": "ivya",
      "version": "1.8.0",
      "description": "Fork of Playwright's locator resolution",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/ivya@1.8.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/sheremet-va/ivya#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/sheremet-va/ivya.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/ivya@1.8.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/ivya/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "ivya,getByAltTextSelector,ivya/getByAltTextSelector,getByLabelSelector,ivya/getByLabelSelector,getByPlaceholderSelector,ivya/getByPlaceholderSelector,getByRoleSelector,ivya/getByRoleSelector,getByTestIdSelector,ivya/getByTestIdSelector,getByTextSelector,ivya/getByTextSelector,getByTitleSelector,ivya/getByTitleSelector"
        },
        {
          "name": "ImportedModules",
          "value": "ivya/aria,AriaNode,ivya/aria/AriaNode,AriaTemplateNode,ivya/aria/AriaTemplateNode,generateAriaTree,ivya/aria/generateAriaTree,matchAriaTree,ivya/aria/matchAriaTree,parseAriaTemplate,ivya/aria/parseAriaTemplate,renderAriaTemplate,ivya/aria/renderAriaTemplate,renderAriaTree,ivya/aria/renderAriaTree,ivya/utils,getAriaChecked,ivya/utils/getAriaChecked,getAriaCheckedRoles,ivya/utils/getAriaCheckedRoles,getAriaRole,ivya/utils/getAriaRole,getAriaDisabled,ivya/utils/getAriaDisabled,beginAriaCaches,ivya/utils/beginAriaCaches,endAriaCaches,ivya/utils/endAriaCaches,isElementVisible,ivya/utils/isElementVisible,getElementAccessibleDescription,ivya/utils/getElementAccessibleDescription,getElementAccessibleErrorMessage,ivya/utils/getElementAccessibleErrorMessage,getElementAccessibleName,ivya/utils/getElementAccessibleName,cssEscape,ivya/utils/cssEscape,ivya,ParsedSelector,ivya/ParsedSelector,asLocator,ivya/asLocator,getByAltTextSelector,ivya/getByAltTextSelector,getByLabelSelector,ivya/getByLabelSelector,getByPlaceholderSelector,ivya/getByPlaceholderSelector,getByRoleSelector,ivya/getByRoleSelector,getByTestIdSelector,ivya/getByTestIdSelector,getByTextSelector,ivya/getByTextSelector,getByTitleSelector,ivya/getByTitleSelector,Ivya,ivya/Ivya"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/ivya/package.json"
              }
            ],
            "concludedValue": "node_modules/ivya/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/tester/aria.ts",
            "line": 6
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 13
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 21
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 35
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 43
          },
          {
            "location": "src/client/tester/aria.ts",
            "line": 51
          },
          {
            "location": "src/client/tester/expect/toBeChecked.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toBeEnabled.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toBePartiallyChecked.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toBeVisible.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleDescription.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleErrorMessage.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleName.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toHaveFormValues.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/expect/toHaveRole.ts",
            "line": 18
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 43
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 55
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 225
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 229
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 233
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 237
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 241
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 245
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 249
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 404
          },
          {
            "location": "src/client/tester/locators/index.ts",
            "line": 410
          },
          {
            "location": "src/node/index.ts",
            "line": 23
          },
          {
            "location": "src/client/tester/expect/toBeChecked.ts",
            "line": 21
          },
          {
            "location": "src/client/tester/expect/toBeChecked.ts",
            "line": 38
          },
          {
            "location": "src/client/tester/expect/toBeChecked.ts",
            "line": 51
          },
          {
            "location": "src/client/tester/expect/toBeEnabled.ts",
            "line": 74
          },
          {
            "location": "src/client/tester/expect/toBePartiallyChecked.ts",
            "line": 66
          },
          {
            "location": "src/client/tester/expect/toBeVisible.ts",
            "line": 29
          },
          {
            "location": "src/client/tester/expect/toBeVisible.ts",
            "line": 31
          },
          {
            "location": "src/client/tester/expect/toBeVisible.ts",
            "line": 53
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleDescription.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleErrorMessage.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/expect/toHaveAccessibleName.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/expect/toHaveFormValues.ts",
            "line": 94
          },
          {
            "location": "src/client/tester/expect/toHaveRole.ts",
            "line": 27
          },
          {
            "location": "src/client/tester/expect/toHaveRole.ts",
            "line": 28
          },
          {
            "location": "src/client/tester/expect/toHaveRole.ts",
            "line": 29
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Andrea Giammarchi"
        }
      ],
      "group": "",
      "name": "flatted",
      "version": "3.4.2",
      "description": "A super light and fast circular JSON parser.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "ISC",
            "url": "https://opensource.org/licenses/ISC",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/flatted@3.4.2",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/WebReflection/flatted#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/WebReflection/flatted.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/flatted@3.4.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/flatted/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "flatted,parse,flatted/parse,stringify,flatted/stringify"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/flatted/package.json"
              }
            ],
            "concludedValue": "node_modules/flatted/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/client.ts",
            "line": 7
          },
          {
            "location": "src/client/client.ts",
            "line": 116
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 4
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 58
          },
          {
            "location": "src/node/rpc.ts",
            "line": 14
          },
          {
            "location": "src/node/rpc.ts",
            "line": 392
          },
          {
            "location": "src/node/serverOrchestrator.ts",
            "line": 4
          },
          {
            "location": "src/node/serverOrchestrator.ts",
            "line": 49
          }
        ]
      },
      "tags": [
        "json"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "birpc",
      "version": "4.0.0",
      "description": "Message based Two-way remote procedure call",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/birpc@4.0.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/antfu-collective/birpc#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/antfu-collective/birpc.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/birpc@4.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/birpc/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "birpc,BirpcReturn,birpc/BirpcReturn,createBirpc,birpc/createBirpc"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/birpc/package.json"
              }
            ],
            "concludedValue": "node_modules/birpc/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/client.ts",
            "line": 3
          },
          {
            "location": "src/client/client.ts",
            "line": 6
          },
          {
            "location": "src/client/client.ts",
            "line": 76
          },
          {
            "location": "src/node/rpc.ts",
            "line": 13
          },
          {
            "location": "src/node/rpc.ts",
            "line": 139
          },
          {
            "location": "src/types.ts",
            "line": 3
          }
        ]
      }
    },
    {
      "group": "@vitest",
      "name": "utils",
      "version": "4.1.7",
      "description": "Shared Vitest utility functions",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vitest/utils@4.1.7",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vitest-dev/vitest/tree/main/packages/utils"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitest/utils@4.1.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitest/utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vitest/utils/helpers,slash,@vitest/utils/helpers/slash,toArray,@vitest/utils/helpers/toArray,deepMerge,@vitest/utils/helpers/deepMerge,@vitest/utils/source-map,parseErrorStacktrace,@vitest/utils/source-map/parseErrorStacktrace,parseStacktrace,@vitest/utils/source-map/parseStacktrace,StackTraceParserOptions,@vitest/utils/source-map/StackTraceParserOptions,@vitest/utils/source-map/node,extractSourcemapFromFile,@vitest/utils/source-map/node/extractSourcemapFromFile"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitest/utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitest/utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 8
          },
          {
            "location": "dist/index.js",
            "line": 889
          },
          {
            "location": "dist/index.js",
            "line": 919
          },
          {
            "location": "dist/index.js",
            "line": 1030
          },
          {
            "location": "dist/index.js",
            "line": 2067
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 9
          },
          {
            "location": "src/node/commands/screenshotMatcher/utils.ts",
            "line": 104
          },
          {
            "location": "src/node/plugin.ts",
            "line": 7
          },
          {
            "location": "src/node/plugin.ts",
            "line": 172
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 6
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 77
          },
          {
            "location": "src/node/plugins/pluginContext.ts",
            "line": 109
          },
          {
            "location": "dist/index.js",
            "line": 13
          },
          {
            "location": "dist/index.js",
            "line": 2691
          },
          {
            "location": "dist/index.js",
            "line": 2697
          },
          {
            "location": "src/node/project.ts",
            "line": 1
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 1
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 15
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 160
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 170
          },
          {
            "location": "dist/index.js",
            "line": 14
          },
          {
            "location": "dist/index.js",
            "line": 2630
          },
          {
            "location": "dist/index.js",
            "line": 3151
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 16
          },
          {
            "location": "src/node/projectParent.ts",
            "line": 69
          },
          {
            "location": "src/node/rpc.ts",
            "line": 12
          },
          {
            "location": "src/node/rpc.ts",
            "line": 251
          }
        ]
      }
    },
    {
      "group": "@vitest",
      "name": "runner",
      "version": "4.1.7",
      "description": "Vitest test runner",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vitest/runner@4.1.7",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vitest.dev/api/advanced/runner"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitest/runner@4.1.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitest/runner/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vitest/runner,CancelReason,@vitest/runner/CancelReason,FileSpecification,@vitest/runner/FileSpecification,VisualRegressionArtifact,@vitest/runner/VisualRegressionArtifact,File,@vitest/runner/File,Suite,@vitest/runner/Suite,Task,@vitest/runner/Task,TaskEventPack,@vitest/runner/TaskEventPack,TaskResultPack,@vitest/runner/TaskResultPack,Test,@vitest/runner/Test,TestAnnotation,@vitest/runner/TestAnnotation,TestArtifact,@vitest/runner/TestArtifact,VitestRunner,@vitest/runner/VitestRunner,@vitest/runner/utils,generateFileHash,@vitest/runner/utils/generateFileHash,getTestName,@vitest/runner/utils/getTestName"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitest/runner/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitest/runner/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/channel.ts",
            "line": 1
          },
          {
            "location": "src/client/client.ts",
            "line": 2
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 3
          },
          {
            "location": "src/client/tester/expect/toMatchScreenshot.ts",
            "line": 2
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 12
          },
          {
            "location": "src/client/tester/tester.ts",
            "line": 2
          },
          {
            "location": "src/client/utils.ts",
            "line": 1
          },
          {
            "location": "src/types.ts",
            "line": 2
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 6
          },
          {
            "location": "src/client/orchestrator.ts",
            "line": 446
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 20
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 93
          },
          {
            "location": "src/client/tester/runner.ts",
            "line": 407
          }
        ]
      },
      "tags": [
        "test"
      ]
    },
    {
      "group": "@vitest",
      "name": "mocker",
      "version": "4.1.7",
      "description": "Vitest module mocker implementation",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vitest/mocker@4.1.7",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vitest-dev/vitest/tree/main/packages/mocker"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitest/mocker@4.1.7",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitest/mocker/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vitest/mocker,ManualMockedModule,@vitest/mocker/ManualMockedModule,RedirectedModule,@vitest/mocker/RedirectedModule,AutomockedModule,@vitest/mocker/AutomockedModule,AutospiedModule,@vitest/mocker/AutospiedModule,MockerRegistry,@vitest/mocker/MockerRegistry,MockedModuleSerialized,@vitest/mocker/MockedModuleSerialized,ServerIdResolution,@vitest/mocker/ServerIdResolution,ServerMockResolution,@vitest/mocker/ServerMockResolution,@vitest/mocker/node,dynamicImportPlugin,@vitest/mocker/node/dynamicImportPlugin,ServerMockResolver,@vitest/mocker/node/ServerMockResolver,interceptorPlugin,@vitest/mocker/node/interceptorPlugin,@vitest/mocker/browser,ModuleMocker,@vitest/mocker/browser/ModuleMocker,ModuleMockerInterceptor,@vitest/mocker/browser/ModuleMockerInterceptor"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitest/mocker/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitest/mocker/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 1
          },
          {
            "location": "dist/index.js",
            "line": 3212
          },
          {
            "location": "dist/index.js",
            "line": 3232
          },
          {
            "location": "dist/index.js",
            "line": 3238
          },
          {
            "location": "dist/index.js",
            "line": 3240
          },
          {
            "location": "dist/index.js",
            "line": 3242
          },
          {
            "location": "src/node/index.ts",
            "line": 2
          },
          {
            "location": "src/node/rpc.ts",
            "line": 1
          },
          {
            "location": "src/node/rpc.ts",
            "line": 10
          },
          {
            "location": "src/node/rpc.ts",
            "line": 326
          },
          {
            "location": "src/node/rpc.ts",
            "line": 349
          },
          {
            "location": "src/node/rpc.ts",
            "line": 356
          },
          {
            "location": "src/node/rpc.ts",
            "line": 359
          },
          {
            "location": "src/node/rpc.ts",
            "line": 362
          },
          {
            "location": "src/types.ts",
            "line": 1
          },
          {
            "location": "dist/index.js",
            "line": 2
          },
          {
            "location": "dist/index.js",
            "line": 1171
          },
          {
            "location": "dist/index.js",
            "line": 7906
          },
          {
            "location": "src/node/index.ts",
            "line": 3
          },
          {
            "location": "src/node/index.ts",
            "line": 100
          },
          {
            "location": "src/node/plugin.ts",
            "line": 6
          },
          {
            "location": "src/node/plugin.ts",
            "line": 344
          },
          {
            "location": "src/node/rpc.ts",
            "line": 11
          },
          {
            "location": "src/client/client.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/mocker-interceptor.ts",
            "line": 1
          },
          {
            "location": "src/client/tester/mocker.ts",
            "line": 1
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "ws",
      "version": "8.18.1",
      "description": "TypeScript definitions for ws",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/ws@8.18.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/ws"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/ws@8.18.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/ws/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/ws/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/ws/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "pngjs",
      "version": "6.0.5",
      "description": "TypeScript definitions for pngjs",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40types/pngjs@6.0.5",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/pngjs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/pngjs@6.0.5",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/pngjs/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@types/pngjs/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/pngjs/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Giorgio Polvara <polvara@gmail.com>"
        }
      ],
      "group": "@testing-library",
      "name": "user-event",
      "version": "14.6.1",
      "description": "Fire events the same way the user does",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40testing-library/user-event@14.6.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/testing-library/user-event#readme"
        },
        {
          "type": "vcs",
          "url": "https://github.com/testing-library/user-event"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@testing-library/user-event@14.6.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@testing-library/user-event/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@testing-library/user-event,Options,@testing-library/user-event/Options,UserEvent,@testing-library/user-event/UserEvent,@testing-library/user-event/dist/esm/keyboard/keyMap.js,defaultKeyMap,@testing-library/user-event/dist/esm/keyboard/keyMap.js/defaultKeyMap,@testing-library/user-event/dist/esm/keyboard/parseKeyDef.js,parseKeyDef,@testing-library/user-event/dist/esm/keyboard/parseKeyDef.js/parseKeyDef"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@testing-library/user-event/package.json"
              }
            ],
            "concludedValue": "node_modules/@testing-library/user-event/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/tester/context.ts",
            "line": 4
          },
          {
            "location": "src/node/utils.ts",
            "line": 8
          },
          {
            "location": "src/node/utils.ts",
            "line": 9
          },
          {
            "location": "src/node/utils.ts",
            "line": 38
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "OpenTelemetry Authors"
        }
      ],
      "group": "@opentelemetry",
      "name": "api",
      "version": "1.9.0",
      "description": "Public API for OpenTelemetry",
      "scope": "excluded",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40opentelemetry/api@1.9.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/open-telemetry/opentelemetry-js/tree/main/api"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@opentelemetry/api@1.9.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@opentelemetry/api/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@opentelemetry/api,Context,@opentelemetry/api/Context"
        },
        {
          "name": "cdx:npm:package:type-only",
          "value": "true"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@opentelemetry/api/package.json"
              }
            ],
            "concludedValue": "node_modules/@opentelemetry/api/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/client/orchestrator.ts",
            "line": 1
          }
        ]
      },
      "tags": [
        "api"
      ]
    },
    {
      "authors": [
        {
          "name": "Teimur Gasanov <me@teimurjan.dev> (https://github.com/teimurjan)"
        }
      ],
      "group": "@blazediff",
      "name": "core",
      "version": "1.9.1",
      "description": "Blazing-fast pixel-by-pixel image comparison with block-based optimization. 1.5x times faster than pixelmatch",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40blazediff/core@1.9.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://blazediff.dev"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@blazediff/core@1.9.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@blazediff/core/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@blazediff/core,diff,@blazediff/core/diff"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@blazediff/core/package.json"
              }
            ],
            "concludedValue": "node_modules/@blazediff/core/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 18
          },
          {
            "location": "dist/index.js",
            "line": 2020
          },
          {
            "location": "src/node/commands/screenshotMatcher/comparators/pixelmatch.ts",
            "line": 3
          },
          {
            "location": "src/node/commands/screenshotMatcher/comparators/pixelmatch.ts",
            "line": 39
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@vitest/browser@4.1.7"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.4",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.4",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.4",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-08-25T07:28:55Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, August 25, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'browser' with version '4.1.7'. The package type in this SBOM is npm with 5 purl namespaces described under components. The components were identified from 19 source files."
    }
  ]
}