{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:942cf4e5-182a-4584-84e4-7801067306f1",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-10T09:47:50Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "printer-ansi",
      "group": "@effect",
      "version": "0.49.0",
      "description": "An easy to use, extensible pretty-printer for rendering documents for the terminal",
      "purl": "pkg:npm/%40effect/printer-ansi@0.49.0",
      "bom-ref": "pkg:npm/@effect/printer-ansi@0.49.0",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "codegen, build, build-esm, build-cjs, build-annotate, check, test, coverage"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build, build-esm, build-cjs, build-annotate"
        },
        {
          "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://effect.website"
        },
        {
          "type": "vcs",
          "url": "https://github.com/Effect-TS/effect.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@effect"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@effect/printer/package.json\\nnode_modules/@effect/typeclass/package.json\\nnode_modules/effect/package.json"
      }
    ]
  },
  "components": [
    {
      "group": "",
      "name": "effect",
      "version": "3.21.0",
      "description": "The missing standard library for TypeScript, for writing production-grade software.",
      "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/effect@3.21.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://effect.website"
        },
        {
          "type": "vcs",
          "url": "https://github.com/Effect-TS/effect.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/effect@3.21.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/effect/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "effect/Array,effect/Function,effect/Option,effect/Effect,effect/List,dual,effect/Function/dual"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/effect/package.json"
              }
            ],
            "concludedValue": "node_modules/effect/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "build/cjs/internal/ansi.js",
            "line": 9
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 3
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 154
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 161
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 166
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 185
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 192
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 199
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 206
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 213
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 218
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 222
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 226
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 230
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 234
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 238
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 242
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 254
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 259
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 263
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 267
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 271
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 275
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 279
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 296
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 297
          },
          {
            "location": "dist/dist/cjs/internal/ansi.js",
            "line": 9
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 3
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 154
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 161
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 166
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 185
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 192
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 199
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 206
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 213
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 218
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 222
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 226
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 230
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 234
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 238
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 242
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 254
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 259
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 263
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 267
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 271
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 275
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 279
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 296
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 297
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 3
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 225
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 231
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 234
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 252
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 258
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 264
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 270
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 276
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 280
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 283
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 286
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 289
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 292
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 295
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 298
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 309
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 313
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 316
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 319
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 322
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 325
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 328
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 355
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 365
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 3
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 225
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 231
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 234
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 252
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 258
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 264
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 270
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 276
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 280
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 283
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 286
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 289
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 292
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 295
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 298
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 309
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 313
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 316
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 319
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 322
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 325
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 328
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 355
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 365
          },
          {
            "location": "build/cjs/internal/ansi.js",
            "line": 10
          },
          {
            "location": "build/cjs/internal/ansi.js",
            "line": 11
          },
          {
            "location": "build/cjs/internal/ansiRender.js",
            "line": 9
          },
          {
            "location": "build/cjs/internal/ansiRender.js",
            "line": 10
          },
          {
            "location": "build/cjs/internal/ansiRender.js",
            "line": 11
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 4
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 5
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 3
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 4
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 5
          },
          {
            "location": "dist/dist/cjs/internal/ansi.js",
            "line": 10
          },
          {
            "location": "dist/dist/cjs/internal/ansi.js",
            "line": 11
          },
          {
            "location": "dist/dist/cjs/internal/ansiRender.js",
            "line": 9
          },
          {
            "location": "dist/dist/cjs/internal/ansiRender.js",
            "line": 10
          },
          {
            "location": "dist/dist/cjs/internal/ansiRender.js",
            "line": 11
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 4
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 5
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 3
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 4
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 5
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 4
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 5
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 4
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 5
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 6
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 4
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 5
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 4
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 5
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 6
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 290
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 11
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 290
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 11
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 342
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 16
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 342
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 16
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 19
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 31
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 52
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 56
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 60
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 64
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 71
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 75
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 79
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 83
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 19
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 31
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 52
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 56
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 60
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 64
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 71
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 75
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 79
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 83
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 48
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 64
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 90
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 94
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 98
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 102
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 110
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 114
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 118
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 122
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 356
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 48
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 64
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 90
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 94
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 98
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 102
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 110
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 114
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 118
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 122
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 356
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 30
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 47
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 51
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 55
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 59
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 67
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 73
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 79
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 30
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 47
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 51
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 55
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 59
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 67
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 73
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 79
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 37
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 67
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 73
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 76
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 77
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 82
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 83
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 92
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 93
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 100
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 101
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 108
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 109
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 37
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 67
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 73
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 76
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 77
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 82
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 83
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 92
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 93
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 100
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 101
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 108
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 109
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 32
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 38
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 32
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 38
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 40
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 52
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 40
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 52
          }
        ]
      }
    },
    {
      "group": "@effect",
      "name": "typeclass",
      "version": "0.40.0",
      "description": "A collection of reusable typeclasses for the Effect ecosystem",
      "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/%40effect/typeclass@0.40.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://effect.website"
        },
        {
          "type": "vcs",
          "url": "https://github.com/Effect-TS/effect.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@effect/typeclass@0.40.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@effect/typeclass/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@effect/typeclass/Monoid,@effect/typeclass/Semigroup"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@effect/typeclass/package.json"
              }
            ],
            "concludedValue": "node_modules/@effect/typeclass/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "build/cjs/internal/ansi.js",
            "line": 7
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 1
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 30
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 31
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 32
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 34
          },
          {
            "location": "dist/dist/cjs/internal/ansi.js",
            "line": 7
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 1
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 30
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 31
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 32
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 34
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 1
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 62
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 64
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 66
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 68
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 1
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 62
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 64
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 66
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 68
          },
          {
            "location": "build/cjs/internal/ansi.js",
            "line": 8
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 2
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 18
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 19
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 20
          },
          {
            "location": "build/esm/internal/ansi.js",
            "line": 22
          },
          {
            "location": "dist/dist/cjs/internal/ansi.js",
            "line": 8
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 2
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 18
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 19
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 20
          },
          {
            "location": "dist/dist/esm/internal/ansi.js",
            "line": 22
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 2
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 45
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 47
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 51
          },
          {
            "location": "dist/src/internal/ansi.ts",
            "line": 53
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 2
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 45
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 47
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 51
          },
          {
            "location": "src/internal/ansi.ts",
            "line": 53
          }
        ]
      }
    },
    {
      "group": "@effect",
      "name": "printer",
      "version": "0.49.0",
      "description": "An easy to use, extensible pretty-printer for rendering documents",
      "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/%40effect/printer@0.49.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://effect.website"
        },
        {
          "type": "vcs",
          "url": "https://github.com/Effect-TS/effect.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@effect/printer@0.49.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@effect/printer/package.json"
        },
        {
          "name": "ExportedModules",
          "value": "@effect/printer/Doc,@effect/printer/Flatten,align,@effect/printer/Doc/align,alterAnnotations,@effect/printer/Doc/alterAnnotations,angleBracketed,@effect/printer/Doc/angleBracketed,annotate,@effect/printer/Doc/annotate,backslash,@effect/printer/Doc/backslash,@effect/printer/Doc/cat,cats,@effect/printer/Doc/cats,catWithLine,@effect/printer/Doc/catWithLine,catWithLineBreak,@effect/printer/Doc/catWithLineBreak,catWithSoftLine,@effect/printer/Doc/catWithSoftLine,catWithSoftLineBreak,@effect/printer/Doc/catWithSoftLineBreak,catWithSpace,@effect/printer/Doc/catWithSpace,changesUponFlattening,@effect/printer/Doc/changesUponFlattening,char,@effect/printer/Doc/char,colon,@effect/printer/Doc/colon,column,@effect/printer/Doc/column,comma,@effect/printer/Doc/comma,concatWith,@effect/printer/Doc/concatWith,curlyBraced,@effect/printer/Doc/curlyBraced,@effect/printer/Doc/dot,doubleQuoted,@effect/printer/Doc/doubleQuoted,dquote,@effect/printer/Doc/dquote,empty,@effect/printer/Doc/empty,encloseSep,@effect/printer/Doc/encloseSep,equalSign,@effect/printer/Doc/equalSign,fail,@effect/printer/Doc/fail,fill,@effect/printer/Doc/fill,fillBreak,@effect/printer/Doc/fillBreak,fillCat,@effect/printer/Doc/fillCat,fillSep,@effect/printer/Doc/fillSep,flatAlt,@effect/printer/Doc/flatAlt,flatten,@effect/printer/Doc/flatten,group,@effect/printer/Doc/group,hang,@effect/printer/Doc/hang,hardLine,@effect/printer/Doc/hardLine,hcat,@effect/printer/Doc/hcat,hsep,@effect/printer/Doc/hsep,indent,@effect/printer/Doc/indent,Invariant,@effect/printer/Doc/Invariant,isAnnotated,@effect/printer/Doc/isAnnotated,isCat,@effect/printer/Doc/isCat,isChar,@effect/printer/Doc/isChar,isColumn,@effect/printer/Doc/isColumn,isDoc,@effect/printer/Doc/isDoc,isEmpty,@effect/printer/Doc/isEmpty,isFail,@effect/printer/Doc/isFail,isFlatAlt,@effect/printer/Doc/isFlatAlt,isLine,@effect/printer/Doc/isLine,isNest,@effect/printer/Doc/isNest,isNesting,@effect/printer/Doc/isNesting,isText,@effect/printer/Doc/isText,isUnion,@effect/printer/Doc/isUnion,isWithPageWidth,@effect/printer/Doc/isWithPageWidth,langle,@effect/printer/Doc/langle,lbrace,@effect/printer/Doc/lbrace,lbracket,@effect/printer/Doc/lbracket,line,@effect/printer/Doc/line,lineBreak,@effect/printer/Doc/lineBreak,list,@effect/printer/Doc/list,lparen,@effect/printer/Doc/lparen,@effect/printer/Doc/map,match,@effect/printer/Doc/match,nest,@effect/printer/Doc/nest,nesting,@effect/printer/Doc/nesting,pageWidth,@effect/printer/Doc/pageWidth,parenthesized,@effect/printer/Doc/parenthesized,punctuate,@effect/printer/Doc/punctuate,rangle,@effect/printer/Doc/rangle,rbrace,@effect/printer/Doc/rbrace,rbracket,@effect/printer/Doc/rbracket,reAnnotate,@effect/printer/Doc/reAnnotate,reflow,@effect/printer/Doc/reflow,rparen,@effect/printer/Doc/rparen,semi,@effect/printer/Doc/semi,seps,@effect/printer/Doc/seps,singleQuoted,@effect/printer/Doc/singleQuoted,slash,@effect/printer/Doc/slash,softLine,@effect/printer/Doc/softLine,softLineBreak,@effect/printer/Doc/softLineBreak,space,@effect/printer/Doc/space,spaces,@effect/printer/Doc/spaces,squareBracketed,@effect/printer/Doc/squareBracketed,squote,@effect/printer/Doc/squote,string,@effect/printer/Doc/string,surround,@effect/printer/Doc/surround,text,@effect/printer/Doc/text,textSpaces,@effect/printer/Doc/textSpaces,tupled,@effect/printer/Doc/tupled,unAnnotate,@effect/printer/Doc/unAnnotate,union,@effect/printer/Doc/union,vbar,@effect/printer/Doc/vbar,vcat,@effect/printer/Doc/vcat,vsep,@effect/printer/Doc/vsep,width,@effect/printer/Doc/width,words,@effect/printer/Doc/words,Annotated,@effect/printer/Doc/Annotated,@effect/printer/Doc/Cat,Char,@effect/printer/Doc/Char,Column,@effect/printer/Doc/Column,Covariant,@effect/printer/Doc/Covariant,DocTypeId,@effect/printer/Doc/DocTypeId,DocTypeLambda,@effect/printer/Doc/DocTypeLambda,Empty,@effect/printer/Doc/Empty,Fail,@effect/printer/Doc/Fail,FlatAlt,@effect/printer/Doc/FlatAlt,Line,@effect/printer/Doc/Line,Nest,@effect/printer/Doc/Nest,Nesting,@effect/printer/Doc/Nesting,Text,@effect/printer/Doc/Text,Union,@effect/printer/Doc/Union,WithPageWidth,@effect/printer/Doc/WithPageWidth,AlreadyFlat,@effect/printer/Flatten/AlreadyFlat,Flattened,@effect/printer/Flatten/Flattened,NeverFlat,@effect/printer/Flatten/NeverFlat"
        },
        {
          "name": "ImportedModules",
          "value": "@effect/printer/Doc,@effect/printer/Doc/Doc,@effect/printer/Layout,@effect/printer/PageWidth,AvailablePerLine,@effect/printer/PageWidth/AvailablePerLine,@effect/printer/Flatten,@effect/printer/DocStream"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@effect/printer/package.json"
              }
            ],
            "concludedValue": "node_modules/@effect/printer/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "build/cjs/AnsiDoc.js",
            "line": 582
          },
          {
            "location": "build/cjs/internal/ansiDoc.js",
            "line": 7
          },
          {
            "location": "build/esm/AnsiDoc.js",
            "line": 669
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 1
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 4
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 6
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 8
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 10
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 12
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 14
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 16
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 18
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 20
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 22
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 24
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 26
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 28
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 30
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 32
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 34
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 36
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 38
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 40
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 42
          },
          {
            "location": "build/esm/internal/ansiDoc.js",
            "line": 44
          },
          {
            "location": "dist/dist/cjs/AnsiDoc.js",
            "line": 582
          },
          {
            "location": "dist/dist/cjs/internal/ansiDoc.js",
            "line": 7
          },
          {
            "location": "dist/dist/esm/AnsiDoc.js",
            "line": 669
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 1
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 4
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 6
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 8
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 10
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 12
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 14
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 16
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 18
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 20
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 22
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 24
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 26
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 28
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 30
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 32
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 34
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 36
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 38
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 40
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 42
          },
          {
            "location": "dist/dist/esm/internal/ansiDoc.js",
            "line": 44
          },
          {
            "location": "dist/src/AnsiDoc.ts",
            "line": 4
          },
          {
            "location": "dist/src/AnsiDoc.ts",
            "line": 381
          },
          {
            "location": "dist/src/AnsiDoc.ts",
            "line": 882
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 1
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 6
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 10
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 14
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 17
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 21
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 25
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 29
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 32
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 35
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 41
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 48
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 52
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 55
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 58
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 61
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 64
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 67
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 70
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 73
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 76
          },
          {
            "location": "dist/src/internal/ansiDoc.ts",
            "line": 79
          },
          {
            "location": "src/AnsiDoc.ts",
            "line": 4
          },
          {
            "location": "src/AnsiDoc.ts",
            "line": 381
          },
          {
            "location": "src/AnsiDoc.ts",
            "line": 882
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 1
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 6
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 10
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 14
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 17
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 21
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 25
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 29
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 32
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 35
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 41
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 48
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 52
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 55
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 58
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 61
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 64
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 67
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 70
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 73
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 76
          },
          {
            "location": "src/internal/ansiDoc.ts",
            "line": 79
          },
          {
            "location": "build/cjs/internal/ansiRender.js",
            "line": 7
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 1
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 15
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 20
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 25
          },
          {
            "location": "dist/dist/cjs/internal/ansiRender.js",
            "line": 7
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 1
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 15
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 20
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 25
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 2
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 22
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 26
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 30
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 2
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 22
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 26
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 30
          },
          {
            "location": "build/cjs/internal/ansiRender.js",
            "line": 8
          },
          {
            "location": "build/esm/internal/ansiRender.js",
            "line": 2
          },
          {
            "location": "dist/dist/cjs/internal/ansiRender.js",
            "line": 8
          },
          {
            "location": "dist/dist/esm/internal/ansiRender.js",
            "line": 2
          },
          {
            "location": "dist/src/AnsiDoc.ts",
            "line": 5
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 3
          },
          {
            "location": "src/AnsiDoc.ts",
            "line": 5
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 3
          },
          {
            "location": "dist/src/AnsiDoc.ts",
            "line": 404
          },
          {
            "location": "src/AnsiDoc.ts",
            "line": 404
          },
          {
            "location": "dist/src/internal/ansiRender.ts",
            "line": 1
          },
          {
            "location": "src/internal/ansiRender.ts",
            "line": 1
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@effect/printer-ansi@0.49.0"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-10-10T09:47:50Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Saturday, October 10, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'printer-ansi' with version '0.49.0'. The package type in this SBOM is npm with a single purl namespace '@effect' described under components. The components were identified from 3 source files."
    }
  ]
}