{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:996e9485-0af0-4753-bd66-9274f252da92",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-24T16:25:43Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.9.0",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.9.0",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.9.0",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "harness-fx",
      "group": "@ai-sdk",
      "version": "1.0.71",
      "purl": "pkg:npm/%40ai-sdk/harness-fx@1.0.71",
      "bom-ref": "pkg:npm/@ai-sdk/harness-fx@1.0.71",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, build:watch, clean, type-check, test, test:watch, test:node"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build, build:watch, test:watch"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "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"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "website",
          "url": "https://ai-sdk.dev/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/ai"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@ai-sdk\\n@types\\n@vercel"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@ai-sdk/harness/package.json\\nnode_modules/@ai-sdk/mcp/package.json\\nnode_modules/@ai-sdk/provider-utils/package.json\\nnode_modules/@ai-sdk/provider/package.json\\nnode_modules/@types/node/package.json\\nnode_modules/@vercel/ai-tsconfig/package.json\\nnode_modules/@vercel/ai-tsdown-config/package.json\\nnode_modules/libfx/package.json\\nnode_modules/tsdown/package.json\\nnode_modules/tsx/package.json\\nnode_modules/typescript/package.json\\nnode_modules/zod/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Colin McDonnell <zod@colinhacks.com>"
        }
      ],
      "group": "",
      "name": "zod",
      "version": "3.25.76",
      "description": "TypeScript-first schema declaration and validation library with static type inference",
      "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/zod@3.25.76",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://zod.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/colinhacks/zod.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/zod@3.25.76",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/zod/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "zod/v4,zod/v4/z"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/zod/package.json"
              }
            ],
            "concludedValue": "node_modules/zod/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 3
          },
          {
            "location": "dist/index.js",
            "line": 13
          },
          {
            "location": "dist/index.js",
            "line": 14
          },
          {
            "location": "dist/index.js",
            "line": 15
          },
          {
            "location": "dist/index.js",
            "line": 18
          },
          {
            "location": "dist/index.js",
            "line": 19
          },
          {
            "location": "dist/index.js",
            "line": 20
          },
          {
            "location": "dist/index.js",
            "line": 21
          },
          {
            "location": "dist/index.js",
            "line": 26
          },
          {
            "location": "dist/index.js",
            "line": 27
          },
          {
            "location": "dist/index.js",
            "line": 28
          },
          {
            "location": "dist/index.js",
            "line": 29
          },
          {
            "location": "dist/index.js",
            "line": 30
          },
          {
            "location": "dist/index.js",
            "line": 31
          },
          {
            "location": "dist/index.js",
            "line": 32
          },
          {
            "location": "dist/index.js",
            "line": 33
          },
          {
            "location": "dist/index.js",
            "line": 34
          },
          {
            "location": "dist/index.js",
            "line": 35
          },
          {
            "location": "dist/index.js",
            "line": 36
          },
          {
            "location": "dist/index.js",
            "line": 37
          },
          {
            "location": "dist/index.js",
            "line": 38
          },
          {
            "location": "dist/index.js",
            "line": 39
          },
          {
            "location": "dist/index.js",
            "line": 40
          },
          {
            "location": "dist/index.js",
            "line": 41
          },
          {
            "location": "dist/index.js",
            "line": 43
          },
          {
            "location": "dist/index.js",
            "line": 45
          },
          {
            "location": "dist/index.js",
            "line": 46
          },
          {
            "location": "dist/index.js",
            "line": 47
          },
          {
            "location": "dist/index.js",
            "line": 48
          },
          {
            "location": "dist/index.js",
            "line": 49
          },
          {
            "location": "dist/index.js",
            "line": 54
          },
          {
            "location": "dist/index.js",
            "line": 55
          },
          {
            "location": "dist/index.js",
            "line": 56
          },
          {
            "location": "dist/index.js",
            "line": 57
          },
          {
            "location": "dist/index.js",
            "line": 59
          },
          {
            "location": "dist/index.js",
            "line": 60
          },
          {
            "location": "dist/index.js",
            "line": 61
          },
          {
            "location": "dist/index.js",
            "line": 62
          },
          {
            "location": "dist/index.js",
            "line": 63
          },
          {
            "location": "dist/index.js",
            "line": 64
          },
          {
            "location": "dist/index.js",
            "line": 65
          },
          {
            "location": "dist/index.js",
            "line": 66
          },
          {
            "location": "dist/index.js",
            "line": 68
          },
          {
            "location": "dist/index.js",
            "line": 70
          },
          {
            "location": "dist/index.js",
            "line": 72
          },
          {
            "location": "dist/index.js",
            "line": 73
          },
          {
            "location": "dist/index.js",
            "line": 74
          },
          {
            "location": "dist/index.js",
            "line": 75
          },
          {
            "location": "dist/index.js",
            "line": 121
          },
          {
            "location": "dist/index.js",
            "line": 122
          },
          {
            "location": "dist/index.js",
            "line": 123
          },
          {
            "location": "dist/index.js",
            "line": 128
          },
          {
            "location": "dist/index.js",
            "line": 129
          },
          {
            "location": "dist/index.js",
            "line": 1892
          },
          {
            "location": "dist/index.js",
            "line": 1898
          },
          {
            "location": "dist/index.js",
            "line": 1899
          },
          {
            "location": "dist/index.js",
            "line": 1900
          },
          {
            "location": "dist/index.js",
            "line": 1907
          },
          {
            "location": "dist/index.js",
            "line": 1908
          },
          {
            "location": "dist/index.js",
            "line": 1909
          },
          {
            "location": "dist/index.js",
            "line": 1910
          },
          {
            "location": "dist/index.js",
            "line": 1917
          },
          {
            "location": "dist/index.js",
            "line": 1918
          },
          {
            "location": "dist/index.js",
            "line": 1919
          },
          {
            "location": "dist/index.js",
            "line": 1926
          },
          {
            "location": "dist/index.js",
            "line": 1927
          },
          {
            "location": "dist/index.js",
            "line": 1928
          },
          {
            "location": "dist/index.js",
            "line": 1929
          },
          {
            "location": "dist/index.js",
            "line": 1930
          },
          {
            "location": "dist/index.js",
            "line": 1931
          },
          {
            "location": "dist/index.js",
            "line": 1932
          },
          {
            "location": "dist/index.js",
            "line": 1933
          },
          {
            "location": "dist/index.js",
            "line": 1940
          },
          {
            "location": "dist/index.js",
            "line": 1941
          },
          {
            "location": "dist/index.js",
            "line": 1942
          },
          {
            "location": "dist/index.js",
            "line": 1943
          },
          {
            "location": "dist/index.js",
            "line": 1949
          },
          {
            "location": "dist/index.js",
            "line": 1950
          },
          {
            "location": "dist/index.js",
            "line": 1951
          },
          {
            "location": "dist/index.js",
            "line": 1953
          },
          {
            "location": "src/fx-harness.ts",
            "line": 7
          },
          {
            "location": "src/fx-harness.ts",
            "line": 29
          },
          {
            "location": "src/fx-harness.ts",
            "line": 35
          },
          {
            "location": "src/fx-harness.ts",
            "line": 41
          },
          {
            "location": "src/fx-harness.ts",
            "line": 42
          },
          {
            "location": "src/fx-harness.ts",
            "line": 43
          },
          {
            "location": "src/fx-harness.ts",
            "line": 44
          },
          {
            "location": "src/fx-harness.ts",
            "line": 52
          },
          {
            "location": "src/fx-harness.ts",
            "line": 53
          },
          {
            "location": "src/fx-harness.ts",
            "line": 54
          },
          {
            "location": "src/fx-harness.ts",
            "line": 61
          },
          {
            "location": "src/fx-harness.ts",
            "line": 62
          },
          {
            "location": "src/fx-harness.ts",
            "line": 63
          },
          {
            "location": "src/fx-harness.ts",
            "line": 64
          },
          {
            "location": "src/fx-harness.ts",
            "line": 65
          },
          {
            "location": "src/fx-harness.ts",
            "line": 66
          },
          {
            "location": "src/fx-harness.ts",
            "line": 67
          },
          {
            "location": "src/fx-harness.ts",
            "line": 68
          },
          {
            "location": "src/fx-harness.ts",
            "line": 75
          },
          {
            "location": "src/fx-harness.ts",
            "line": 76
          },
          {
            "location": "src/fx-harness.ts",
            "line": 77
          },
          {
            "location": "src/fx-harness.ts",
            "line": 78
          },
          {
            "location": "src/fx-harness.ts",
            "line": 84
          },
          {
            "location": "src/fx-harness.ts",
            "line": 85
          },
          {
            "location": "src/fx-harness.ts",
            "line": 86
          },
          {
            "location": "src/fx-harness.ts",
            "line": 88
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 3
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 12
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 13
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 14
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 15
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 16
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 9
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 13
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 17
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 18
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 62
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 63
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 64
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 65
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 66
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 67
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 69
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 70
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 71
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 72
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 73
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 74
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 75
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 76
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 77
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 78
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 79
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 80
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 82
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 83
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 84
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 87
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 90
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 91
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 92
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 93
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 94
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 95
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 96
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 97
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 98
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 100
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 102
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 103
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 104
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 105
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 106
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 107
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 108
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 109
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 112
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 115
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 118
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 119
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 120
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 121
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 122
          }
        ]
      },
      "tags": [
        "validation"
      ]
    },
    {
      "authors": [
        {
          "name": "Microsoft Corp."
        }
      ],
      "group": "",
      "name": "typescript",
      "version": "6.0.3",
      "description": "TypeScript is a language for application scale JavaScript development",
      "scope": "optional",
      "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/typescript@6.0.3",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.typescriptlang.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/microsoft/TypeScript.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typescript@6.0.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/typescript/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/typescript/package.json"
              }
            ],
            "concludedValue": "node_modules/typescript/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Hiroki Osame <hiroki.osame@gmail.com>"
        }
      ],
      "group": "",
      "name": "tsx",
      "version": "4.23.12",
      "description": "TypeScript Execute (tsx): Node.js enhanced with esbuild to run TypeScript & ESM files",
      "scope": "optional",
      "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/tsx@4.23.12",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://tsx.hirok.io"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tsx@4.23.12",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/tsx/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/tsx/package.json"
              }
            ],
            "concludedValue": "node_modules/tsx/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Kevin Deng <sxzz@sxzz.moe>"
        }
      ],
      "group": "",
      "name": "tsdown",
      "version": "0.23.0",
      "description": "The Elegant Bundler for Libraries",
      "scope": "optional",
      "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/tsdown@0.23.0",
      "externalReferences": [
        {
          "type": "website",
          "url": "http://tsdown.dev/"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/rolldown/tsdown.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/tsdown@0.23.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/tsdown/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/tsdown/package.json"
              }
            ],
            "concludedValue": "node_modules/tsdown/package.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "libfx",
      "version": "0.0.14",
      "description": "Embed fx agents and terminals in JavaScript hosts",
      "scope": "required",
      "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/libfx@0.0.14",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vercel-labs/fx/tree/main/sdk#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vercel-labs/fx.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/libfx@0.0.14",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/libfx/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "libfx/mcp,libfx,libfx/skills"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/libfx/package.json"
              }
            ],
            "concludedValue": "node_modules/libfx/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 146
          },
          {
            "location": "dist/index.js",
            "line": 326
          },
          {
            "location": "dist/index.js",
            "line": 331
          }
        ]
      }
    },
    {
      "group": "@vercel",
      "name": "ai-tsdown-config",
      "version": "0.0.0",
      "scope": "optional",
      "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/%40vercel/ai-tsdown-config@0.0.0",
      "type": "library",
      "bom-ref": "pkg:npm/@vercel/ai-tsdown-config@0.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vercel/ai-tsdown-config/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/@vercel/ai-tsdown-config/package.json"
              }
            ],
            "concludedValue": "node_modules/@vercel/ai-tsdown-config/package.json"
          }
        ]
      }
    },
    {
      "group": "@vercel",
      "name": "ai-tsconfig",
      "version": "0.0.0",
      "scope": "optional",
      "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/%40vercel/ai-tsconfig@0.0.0",
      "type": "library",
      "bom-ref": "pkg:npm/@vercel/ai-tsconfig@0.0.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vercel/ai-tsconfig/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/@vercel/ai-tsconfig/package.json"
              }
            ],
            "concludedValue": "node_modules/@vercel/ai-tsconfig/package.json"
          }
        ]
      }
    },
    {
      "group": "@types",
      "name": "node",
      "version": "22.19.19",
      "description": "TypeScript definitions for node",
      "scope": "excluded",
      "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/node@22.19.19",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node"
        },
        {
          "type": "vcs",
          "url": "https://github.com/DefinitelyTyped/DefinitelyTyped.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@types/node@22.19.19",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@types/node/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/node/package.json"
              }
            ],
            "concludedValue": "node_modules/@types/node/package.json"
          }
        ]
      }
    },
    {
      "group": "@ai-sdk",
      "name": "provider-utils",
      "version": "5.0.63",
      "scope": "required",
      "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/%40ai-sdk/provider-utils@5.0.63",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://ai-sdk.dev/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/ai"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@ai-sdk/provider-utils@5.0.63",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/provider-utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/provider-utils,asSchema,@ai-sdk/provider-utils/asSchema,isRecord,@ai-sdk/provider-utils/isRecord,safeParseJSON,@ai-sdk/provider-utils/safeParseJSON,secureJsonParse,@ai-sdk/provider-utils/secureJsonParse,tool,@ai-sdk/provider-utils/tool,Experimental_SandboxSession,@ai-sdk/provider-utils/Experimental_SandboxSession"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@ai-sdk/provider-utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@ai-sdk/provider-utils/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 2
          },
          {
            "location": "dist/index.js",
            "line": 97
          },
          {
            "location": "dist/index.js",
            "line": 504
          },
          {
            "location": "dist/index.js",
            "line": 533
          },
          {
            "location": "dist/index.js",
            "line": 534
          },
          {
            "location": "dist/index.js",
            "line": 674
          },
          {
            "location": "dist/index.js",
            "line": 730
          },
          {
            "location": "dist/index.js",
            "line": 769
          },
          {
            "location": "dist/index.js",
            "line": 773
          },
          {
            "location": "dist/index.js",
            "line": 785
          },
          {
            "location": "dist/index.js",
            "line": 805
          },
          {
            "location": "dist/index.js",
            "line": 812
          },
          {
            "location": "dist/index.js",
            "line": 831
          },
          {
            "location": "dist/index.js",
            "line": 832
          },
          {
            "location": "dist/index.js",
            "line": 1408
          },
          {
            "location": "dist/index.js",
            "line": 1541
          },
          {
            "location": "dist/index.js",
            "line": 1947
          },
          {
            "location": "src/fx-harness.ts",
            "line": 6
          },
          {
            "location": "src/fx-harness.ts",
            "line": 82
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 3
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 7
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 175
          },
          {
            "location": "src/fx-session.ts",
            "line": 16
          },
          {
            "location": "src/fx-session.ts",
            "line": 383
          },
          {
            "location": "src/fx-session.ts",
            "line": 551
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 24
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 285
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 343
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 344
          },
          {
            "location": "src/fx-tools.ts",
            "line": 9
          },
          {
            "location": "src/fx-tools.ts",
            "line": 34
          },
          {
            "location": "src/fx-transport.ts",
            "line": 2
          },
          {
            "location": "src/fx-transport.ts",
            "line": 67
          },
          {
            "location": "src/fx-transport.ts",
            "line": 109
          },
          {
            "location": "src/fx-transport.ts",
            "line": 113
          },
          {
            "location": "src/fx-transport.ts",
            "line": 130
          },
          {
            "location": "src/fx-transport.ts",
            "line": 155
          },
          {
            "location": "src/fx-transport.ts",
            "line": 168
          },
          {
            "location": "src/fx-transport.ts",
            "line": 220
          },
          {
            "location": "src/fx-transport.ts",
            "line": 227
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "provider",
      "version": "4.0.30",
      "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/%40ai-sdk/provider@4.0.30",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://ai-sdk.dev/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/ai"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@ai-sdk/provider@4.0.30",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/provider/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/provider,JSONValue,@ai-sdk/provider/JSONValue,LanguageModelV4FinishReason,@ai-sdk/provider/LanguageModelV4FinishReason,LanguageModelV4Usage,@ai-sdk/provider/LanguageModelV4Usage"
        },
        {
          "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/@ai-sdk/provider/package.json"
              }
            ],
            "concludedValue": "node_modules/@ai-sdk/provider/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "src/fx-tools.ts",
            "line": 10
          },
          {
            "location": "src/fx-translate.ts",
            "line": 5
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "mcp",
      "version": "2.0.79",
      "scope": "required",
      "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/%40ai-sdk/mcp@2.0.79",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://ai-sdk.dev/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/ai"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@ai-sdk/mcp@2.0.79",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/mcp/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/mcp,createMCPClient,@ai-sdk/mcp/createMCPClient,MCPClient,@ai-sdk/mcp/MCPClient"
        },
        {
          "name": "cdx:mcp:package",
          "value": "true"
        },
        {
          "name": "cdx:mcp:official",
          "value": "false"
        },
        {
          "name": "cdx:mcp:role",
          "value": "sdk"
        },
        {
          "name": "cdx:mcp:catalogSource",
          "value": "heuristic"
        },
        {
          "name": "cdx:mcp:packageName",
          "value": "@ai-sdk/mcp"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "tags": [
        "framework",
        "mcp",
        "mcp-sdk"
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@ai-sdk/mcp/package.json"
              }
            ],
            "concludedValue": "node_modules/@ai-sdk/mcp/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 8
          },
          {
            "location": "dist/index.js",
            "line": 157
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 2
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 79
          }
        ]
      }
    },
    {
      "group": "@ai-sdk",
      "name": "harness",
      "version": "1.0.156",
      "scope": "required",
      "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/%40ai-sdk/harness@1.0.156",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://ai-sdk.dev/docs"
        },
        {
          "type": "vcs",
          "url": "https://github.com/vercel/ai"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/@ai-sdk/harness@1.0.156",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/harness/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/harness,HARNESS_V1_BUILTIN_TOOLS,@ai-sdk/harness/HARNESS_V1_BUILTIN_TOOLS,HarnessCapabilityUnsupportedError,@ai-sdk/harness/HarnessCapabilityUnsupportedError,commonTool,@ai-sdk/harness/commonTool,isHarnessV1BuiltinToolIncluded,@ai-sdk/harness/isHarnessV1BuiltinToolIncluded,HarnessV1Authentication,@ai-sdk/harness/HarnessV1Authentication,HarnessV1,@ai-sdk/harness/HarnessV1,HarnessV1PromptTurnOptions,@ai-sdk/harness/HarnessV1PromptTurnOptions,HarnessV1BuiltinTool,@ai-sdk/harness/HarnessV1BuiltinTool,HarnessV1ContinueTurnOptions,@ai-sdk/harness/HarnessV1ContinueTurnOptions,HarnessV1ContinueTurnState,@ai-sdk/harness/HarnessV1ContinueTurnState,HarnessV1PromptControl,@ai-sdk/harness/HarnessV1PromptControl,HarnessV1Session,@ai-sdk/harness/HarnessV1Session,HarnessV1StartOptions,@ai-sdk/harness/HarnessV1StartOptions,HarnessV1StreamPart,@ai-sdk/harness/HarnessV1StreamPart,HarnessV1Skill,@ai-sdk/harness/HarnessV1Skill,HarnessV1PermissionMode,@ai-sdk/harness/HarnessV1PermissionMode,HarnessV1ResponseFormat,@ai-sdk/harness/HarnessV1ResponseFormat,@ai-sdk/harness/utils,convertHarnessToolModelOutput,@ai-sdk/harness/utils/convertHarnessToolModelOutput,getAiGatewayAuthFromEnv,@ai-sdk/harness/utils/getAiGatewayAuthFromEnv,getJwtExpiresAt,@ai-sdk/harness/utils/getJwtExpiresAt,getRestrictedSandboxSession,@ai-sdk/harness/utils/getRestrictedSandboxSession,isHarnessAuthenticationEnvironment,@ai-sdk/harness/utils/isHarnessAuthenticationEnvironment,isLinux,@ai-sdk/harness/utils/isLinux,isMacOS,@ai-sdk/harness/utils/isMacOS,isWindows,@ai-sdk/harness/utils/isWindows,normalizeHarnessToolModelOutput,@ai-sdk/harness/utils/normalizeHarnessToolModelOutput,readLinuxSecretServicePassword,@ai-sdk/harness/utils/readLinuxSecretServicePassword,readMacOSKeychainPassword,@ai-sdk/harness/utils/readMacOSKeychainPassword,readWindowsCredentialManagerPassword,@ai-sdk/harness/utils/readWindowsCredentialManagerPassword,shellQuote,@ai-sdk/harness/utils/shellQuote,shouldResolveNativeSubscription,@ai-sdk/harness/utils/shouldResolveNativeSubscription"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@ai-sdk/harness/package.json"
              }
            ],
            "concludedValue": "node_modules/@ai-sdk/harness/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 1
          },
          {
            "location": "dist/index.js",
            "line": 1533
          },
          {
            "location": "dist/index.js",
            "line": 1888
          },
          {
            "location": "dist/index.js",
            "line": 1894
          },
          {
            "location": "dist/index.js",
            "line": 1903
          },
          {
            "location": "dist/index.js",
            "line": 1913
          },
          {
            "location": "dist/index.js",
            "line": 1922
          },
          {
            "location": "dist/index.js",
            "line": 1936
          },
          {
            "location": "src/fx-auth.ts",
            "line": 1
          },
          {
            "location": "src/fx-harness.ts",
            "line": 5
          },
          {
            "location": "src/fx-harness.ts",
            "line": 25
          },
          {
            "location": "src/fx-harness.ts",
            "line": 31
          },
          {
            "location": "src/fx-harness.ts",
            "line": 37
          },
          {
            "location": "src/fx-harness.ts",
            "line": 47
          },
          {
            "location": "src/fx-harness.ts",
            "line": 57
          },
          {
            "location": "src/fx-harness.ts",
            "line": 71
          },
          {
            "location": "src/fx-mcp.ts",
            "line": 1
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 8
          },
          {
            "location": "src/fx-session.ts",
            "line": 14
          },
          {
            "location": "src/fx-session.ts",
            "line": 538
          },
          {
            "location": "src/fx-skills.ts",
            "line": 1
          },
          {
            "location": "src/fx-tools.ts",
            "line": 4
          },
          {
            "location": "src/fx-translate.ts",
            "line": 1
          },
          {
            "location": "src/fx-transport.ts",
            "line": 3
          },
          {
            "location": "dist/index.js",
            "line": 6
          },
          {
            "location": "dist/index.js",
            "line": 90
          },
          {
            "location": "dist/index.js",
            "line": 111
          },
          {
            "location": "dist/index.js",
            "line": 207
          },
          {
            "location": "dist/index.js",
            "line": 284
          },
          {
            "location": "dist/index.js",
            "line": 295
          },
          {
            "location": "dist/index.js",
            "line": 307
          },
          {
            "location": "dist/index.js",
            "line": 349
          },
          {
            "location": "dist/index.js",
            "line": 363
          },
          {
            "location": "dist/index.js",
            "line": 366
          },
          {
            "location": "dist/index.js",
            "line": 520
          },
          {
            "location": "dist/index.js",
            "line": 558
          },
          {
            "location": "dist/index.js",
            "line": 559
          },
          {
            "location": "dist/index.js",
            "line": 566
          },
          {
            "location": "dist/index.js",
            "line": 567
          },
          {
            "location": "dist/index.js",
            "line": 590
          },
          {
            "location": "dist/index.js",
            "line": 591
          },
          {
            "location": "dist/index.js",
            "line": 691
          },
          {
            "location": "dist/index.js",
            "line": 1183
          },
          {
            "location": "src/fx-auth.ts",
            "line": 5
          },
          {
            "location": "src/fx-auth.ts",
            "line": 16
          },
          {
            "location": "src/fx-auth.ts",
            "line": 17
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 2
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 39
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 160
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 177
          },
          {
            "location": "src/fx-remote-ops.ts",
            "line": 200
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 3
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 164
          },
          {
            "location": "src/fx-resume-state.ts",
            "line": 190
          },
          {
            "location": "src/fx-session.ts",
            "line": 15
          },
          {
            "location": "src/fx-session.ts",
            "line": 105
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 23
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 77
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 88
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 315
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 374
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 376
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 384
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 387
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 409
          },
          {
            "location": "src/fx-subscription.ts",
            "line": 412
          },
          {
            "location": "src/fx-tools.ts",
            "line": 8
          },
          {
            "location": "src/fx-tools.ts",
            "line": 55
          },
          {
            "location": "src/fx-tools.ts",
            "line": 56
          }
        ]
      },
      "tags": [
        "framework"
      ]
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@ai-sdk/harness-fx@1.0.71"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.9.0",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.9.0",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.9.0",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-10-24T16:25:43Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Saturday, October 24, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'harness-fx' with version '1.0.71'. The package type in this SBOM is npm with 3 purl namespaces described under components. The components were identified from 12 source files."
    }
  ]
}