{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:1439c07a-8f59-4cec-9ad1-a53c5402b4b6",
  "version": 1,
  "metadata": {
    "timestamp": "2026-11-10T02:26:45Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.9.1",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.9.1",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.9.1",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "harness-pi",
      "group": "@ai-sdk",
      "version": "1.0.178",
      "purl": "pkg:npm/%40ai-sdk/harness-pi@1.0.178",
      "bom-ref": "pkg:npm/@ai-sdk/harness-pi@1.0.178",
      "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@earendil-works\\n@types\\n@vercel"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@ai-sdk/harness/package.json\\nnode_modules/@ai-sdk/provider-utils/package.json\\nnode_modules/@ai-sdk/sandbox-just-bash/package.json\\nnode_modules/@earendil-works/pi-coding-agent/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/tsdown/package.json\\nnode_modules/typebox/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": 12
          },
          {
            "location": "dist/index.js",
            "line": 13
          },
          {
            "location": "dist/index.js",
            "line": 14
          },
          {
            "location": "dist/index.js",
            "line": 15
          },
          {
            "location": "dist/index.js",
            "line": 17
          },
          {
            "location": "dist/index.js",
            "line": 18
          },
          {
            "location": "dist/index.js",
            "line": 19
          },
          {
            "location": "dist/index.js",
            "line": 21
          },
          {
            "location": "dist/index.js",
            "line": 31
          },
          {
            "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": 41
          },
          {
            "location": "dist/index.js",
            "line": 42
          },
          {
            "location": "dist/index.js",
            "line": 43
          },
          {
            "location": "dist/index.js",
            "line": 44
          },
          {
            "location": "dist/index.js",
            "line": 48
          },
          {
            "location": "dist/index.js",
            "line": 50
          },
          {
            "location": "dist/index.js",
            "line": 400
          },
          {
            "location": "dist/index.js",
            "line": 401
          },
          {
            "location": "dist/index.js",
            "line": 402
          },
          {
            "location": "dist/index.js",
            "line": 403
          },
          {
            "location": "dist/index.js",
            "line": 404
          },
          {
            "location": "dist/index.js",
            "line": 405
          },
          {
            "location": "dist/index.js",
            "line": 413
          },
          {
            "location": "dist/index.js",
            "line": 414
          },
          {
            "location": "dist/index.js",
            "line": 415
          },
          {
            "location": "dist/index.js",
            "line": 416
          },
          {
            "location": "dist/index.js",
            "line": 417
          },
          {
            "location": "dist/index.js",
            "line": 418
          },
          {
            "location": "dist/index.js",
            "line": 419
          },
          {
            "location": "dist/index.js",
            "line": 421
          },
          {
            "location": "dist/index.js",
            "line": 422
          },
          {
            "location": "dist/index.js",
            "line": 423
          },
          {
            "location": "dist/index.js",
            "line": 424
          },
          {
            "location": "dist/index.js",
            "line": 425
          },
          {
            "location": "dist/index.js",
            "line": 426
          },
          {
            "location": "dist/index.js",
            "line": 427
          },
          {
            "location": "dist/index.js",
            "line": 428
          },
          {
            "location": "dist/index.js",
            "line": 429
          },
          {
            "location": "dist/index.js",
            "line": 430
          },
          {
            "location": "dist/index.js",
            "line": 431
          },
          {
            "location": "dist/index.js",
            "line": 432
          },
          {
            "location": "dist/index.js",
            "line": 434
          },
          {
            "location": "dist/index.js",
            "line": 435
          },
          {
            "location": "dist/index.js",
            "line": 436
          },
          {
            "location": "dist/index.js",
            "line": 437
          },
          {
            "location": "dist/index.js",
            "line": 438
          },
          {
            "location": "dist/index.js",
            "line": 1072
          },
          {
            "location": "dist/index.js",
            "line": 1073
          },
          {
            "location": "dist/index.js",
            "line": 3001
          },
          {
            "location": "dist/index.js",
            "line": 3002
          },
          {
            "location": "dist/index.js",
            "line": 3003
          },
          {
            "location": "dist/index.js",
            "line": 3004
          },
          {
            "location": "dist/index.js",
            "line": 3011
          },
          {
            "location": "dist/index.js",
            "line": 3012
          },
          {
            "location": "dist/index.js",
            "line": 3013
          },
          {
            "location": "dist/index.js",
            "line": 3020
          },
          {
            "location": "dist/index.js",
            "line": 3021
          },
          {
            "location": "dist/index.js",
            "line": 3022
          },
          {
            "location": "dist/index.js",
            "line": 3023
          },
          {
            "location": "dist/index.js",
            "line": 3030
          },
          {
            "location": "dist/index.js",
            "line": 3031
          },
          {
            "location": "dist/index.js",
            "line": 3032
          },
          {
            "location": "dist/index.js",
            "line": 3039
          },
          {
            "location": "dist/index.js",
            "line": 3040
          },
          {
            "location": "dist/index.js",
            "line": 3041
          },
          {
            "location": "dist/index.js",
            "line": 3042
          },
          {
            "location": "dist/index.js",
            "line": 3043
          },
          {
            "location": "dist/index.js",
            "line": 3044
          },
          {
            "location": "dist/index.js",
            "line": 3045
          },
          {
            "location": "dist/index.js",
            "line": 3046
          },
          {
            "location": "dist/index.js",
            "line": 3053
          },
          {
            "location": "dist/index.js",
            "line": 3054
          },
          {
            "location": "dist/index.js",
            "line": 3055
          },
          {
            "location": "dist/index.js",
            "line": 3056
          },
          {
            "location": "dist/index.js",
            "line": 3062
          },
          {
            "location": "dist/index.js",
            "line": 3063
          },
          {
            "location": "dist/index.js",
            "line": 3064
          },
          {
            "location": "dist/index.js",
            "line": 3066
          },
          {
            "location": "src/pi-events.ts",
            "line": 1
          },
          {
            "location": "src/pi-events.ts",
            "line": 7
          },
          {
            "location": "src/pi-events.ts",
            "line": 9
          },
          {
            "location": "src/pi-events.ts",
            "line": 10
          },
          {
            "location": "src/pi-events.ts",
            "line": 11
          },
          {
            "location": "src/pi-events.ts",
            "line": 12
          },
          {
            "location": "src/pi-events.ts",
            "line": 13
          },
          {
            "location": "src/pi-events.ts",
            "line": 26
          },
          {
            "location": "src/pi-events.ts",
            "line": 27
          },
          {
            "location": "src/pi-events.ts",
            "line": 28
          },
          {
            "location": "src/pi-events.ts",
            "line": 30
          },
          {
            "location": "src/pi-events.ts",
            "line": 31
          },
          {
            "location": "src/pi-events.ts",
            "line": 36
          },
          {
            "location": "src/pi-events.ts",
            "line": 37
          },
          {
            "location": "src/pi-events.ts",
            "line": 38
          },
          {
            "location": "src/pi-events.ts",
            "line": 42
          },
          {
            "location": "src/pi-events.ts",
            "line": 43
          },
          {
            "location": "src/pi-events.ts",
            "line": 44
          },
          {
            "location": "src/pi-events.ts",
            "line": 45
          },
          {
            "location": "src/pi-events.ts",
            "line": 46
          },
          {
            "location": "src/pi-events.ts",
            "line": 47
          },
          {
            "location": "src/pi-events.ts",
            "line": 48
          },
          {
            "location": "src/pi-events.ts",
            "line": 52
          },
          {
            "location": "src/pi-events.ts",
            "line": 53
          },
          {
            "location": "src/pi-events.ts",
            "line": 54
          },
          {
            "location": "src/pi-events.ts",
            "line": 56
          },
          {
            "location": "src/pi-events.ts",
            "line": 57
          },
          {
            "location": "src/pi-events.ts",
            "line": 58
          },
          {
            "location": "src/pi-events.ts",
            "line": 59
          },
          {
            "location": "src/pi-events.ts",
            "line": 63
          },
          {
            "location": "src/pi-events.ts",
            "line": 65
          },
          {
            "location": "src/pi-events.ts",
            "line": 66
          },
          {
            "location": "src/pi-events.ts",
            "line": 67
          },
          {
            "location": "src/pi-events.ts",
            "line": 68
          },
          {
            "location": "src/pi-harness.ts",
            "line": 8
          },
          {
            "location": "src/pi-harness.ts",
            "line": 141
          },
          {
            "location": "src/pi-harness.ts",
            "line": 142
          },
          {
            "location": "src/pi-harness.ts",
            "line": 143
          },
          {
            "location": "src/pi-harness.ts",
            "line": 144
          },
          {
            "location": "src/pi-harness.ts",
            "line": 151
          },
          {
            "location": "src/pi-harness.ts",
            "line": 152
          },
          {
            "location": "src/pi-harness.ts",
            "line": 153
          },
          {
            "location": "src/pi-harness.ts",
            "line": 160
          },
          {
            "location": "src/pi-harness.ts",
            "line": 161
          },
          {
            "location": "src/pi-harness.ts",
            "line": 162
          },
          {
            "location": "src/pi-harness.ts",
            "line": 163
          },
          {
            "location": "src/pi-harness.ts",
            "line": 170
          },
          {
            "location": "src/pi-harness.ts",
            "line": 171
          },
          {
            "location": "src/pi-harness.ts",
            "line": 172
          },
          {
            "location": "src/pi-harness.ts",
            "line": 179
          },
          {
            "location": "src/pi-harness.ts",
            "line": 180
          },
          {
            "location": "src/pi-harness.ts",
            "line": 181
          },
          {
            "location": "src/pi-harness.ts",
            "line": 182
          },
          {
            "location": "src/pi-harness.ts",
            "line": 183
          },
          {
            "location": "src/pi-harness.ts",
            "line": 184
          },
          {
            "location": "src/pi-harness.ts",
            "line": 185
          },
          {
            "location": "src/pi-harness.ts",
            "line": 186
          },
          {
            "location": "src/pi-harness.ts",
            "line": 193
          },
          {
            "location": "src/pi-harness.ts",
            "line": 194
          },
          {
            "location": "src/pi-harness.ts",
            "line": 195
          },
          {
            "location": "src/pi-harness.ts",
            "line": 196
          },
          {
            "location": "src/pi-harness.ts",
            "line": 202
          },
          {
            "location": "src/pi-harness.ts",
            "line": 203
          },
          {
            "location": "src/pi-harness.ts",
            "line": 204
          },
          {
            "location": "src/pi-harness.ts",
            "line": 206
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 8
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 16
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 17
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 18
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 19
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 32
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 33
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 34
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 43
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 60
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 62
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 63
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 64
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 65
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 66
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 67
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 68
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 76
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 86
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 94
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 99
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 113
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 115
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 8
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 77
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 78
          }
        ]
      },
      "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": "sinclairzx81"
        }
      ],
      "group": "",
      "name": "typebox",
      "version": "1.2.2",
      "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
      "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/typebox@1.2.2",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/sinclairzx81/typebox"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typebox@1.2.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/typebox/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "typebox,Type,typebox/Type,TSchema,typebox/TSchema"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/typebox/package.json"
              }
            ],
            "concludedValue": "node_modules/typebox/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 9
          },
          {
            "location": "dist/index.js",
            "line": 1745
          },
          {
            "location": "dist/index.js",
            "line": 2790
          },
          {
            "location": "dist/index.js",
            "line": 2791
          },
          {
            "location": "dist/index.js",
            "line": 2792
          },
          {
            "location": "dist/index.js",
            "line": 2796
          },
          {
            "location": "dist/index.js",
            "line": 2821
          },
          {
            "location": "dist/index.js",
            "line": 2822
          },
          {
            "location": "dist/index.js",
            "line": 2823
          },
          {
            "location": "dist/index.js",
            "line": 2840
          },
          {
            "location": "dist/index.js",
            "line": 2841
          },
          {
            "location": "dist/index.js",
            "line": 2842
          },
          {
            "location": "dist/index.js",
            "line": 2843
          },
          {
            "location": "dist/index.js",
            "line": 2860
          },
          {
            "location": "dist/index.js",
            "line": 2861
          },
          {
            "location": "dist/index.js",
            "line": 2862
          },
          {
            "location": "dist/index.js",
            "line": 2887
          },
          {
            "location": "dist/index.js",
            "line": 2888
          },
          {
            "location": "dist/index.js",
            "line": 2889
          },
          {
            "location": "dist/index.js",
            "line": 2890
          },
          {
            "location": "dist/index.js",
            "line": 2891
          },
          {
            "location": "dist/index.js",
            "line": 2892
          },
          {
            "location": "dist/index.js",
            "line": 2893
          },
          {
            "location": "dist/index.js",
            "line": 2894
          },
          {
            "location": "dist/index.js",
            "line": 2910
          },
          {
            "location": "dist/index.js",
            "line": 2911
          },
          {
            "location": "dist/index.js",
            "line": 2912
          },
          {
            "location": "dist/index.js",
            "line": 2913
          },
          {
            "location": "dist/index.js",
            "line": 2929
          },
          {
            "location": "dist/index.js",
            "line": 2930
          },
          {
            "location": "dist/index.js",
            "line": 2931
          },
          {
            "location": "src/pi-session.ts",
            "line": 27
          },
          {
            "location": "src/pi-session.ts",
            "line": 2003
          },
          {
            "location": "src/pi-session.ts",
            "line": 2004
          },
          {
            "location": "src/pi-session.ts",
            "line": 2005
          },
          {
            "location": "src/pi-session.ts",
            "line": 2006
          },
          {
            "location": "src/pi-session.ts",
            "line": 2011
          },
          {
            "location": "src/pi-session.ts",
            "line": 2012
          },
          {
            "location": "src/pi-session.ts",
            "line": 2044
          },
          {
            "location": "src/pi-session.ts",
            "line": 2045
          },
          {
            "location": "src/pi-session.ts",
            "line": 2046
          },
          {
            "location": "src/pi-session.ts",
            "line": 2065
          },
          {
            "location": "src/pi-session.ts",
            "line": 2066
          },
          {
            "location": "src/pi-session.ts",
            "line": 2067
          },
          {
            "location": "src/pi-session.ts",
            "line": 2068
          },
          {
            "location": "src/pi-session.ts",
            "line": 2091
          },
          {
            "location": "src/pi-session.ts",
            "line": 2092
          },
          {
            "location": "src/pi-session.ts",
            "line": 2093
          },
          {
            "location": "src/pi-session.ts",
            "line": 2094
          },
          {
            "location": "src/pi-session.ts",
            "line": 2132
          },
          {
            "location": "src/pi-session.ts",
            "line": 2133
          },
          {
            "location": "src/pi-session.ts",
            "line": 2134
          },
          {
            "location": "src/pi-session.ts",
            "line": 2135
          },
          {
            "location": "src/pi-session.ts",
            "line": 2136
          },
          {
            "location": "src/pi-session.ts",
            "line": 2137
          },
          {
            "location": "src/pi-session.ts",
            "line": 2138
          },
          {
            "location": "src/pi-session.ts",
            "line": 2139
          },
          {
            "location": "src/pi-session.ts",
            "line": 2163
          },
          {
            "location": "src/pi-session.ts",
            "line": 2164
          },
          {
            "location": "src/pi-session.ts",
            "line": 2165
          },
          {
            "location": "src/pi-session.ts",
            "line": 2166
          },
          {
            "location": "src/pi-session.ts",
            "line": 2194
          },
          {
            "location": "src/pi-session.ts",
            "line": 2195
          },
          {
            "location": "src/pi-session.ts",
            "line": 2196
          },
          {
            "location": "src/pi-typebox-adapter.ts",
            "line": 1
          },
          {
            "location": "src/pi-typebox-adapter.ts",
            "line": 10
          }
        ]
      }
    },
    {
      "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": "@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"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Mario Zechner"
        }
      ],
      "group": "@earendil-works",
      "name": "pi-coding-agent",
      "version": "1.0.3",
      "description": "Coding agent CLI with read, bash, edit, write tools and session management",
      "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/%40earendil-works/pi-coding-agent@1.0.3",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/earendil-works/pi.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@earendil-works/pi-coding-agent@1.0.3",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@earendil-works/pi-coding-agent/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@earendil-works/pi-coding-agent,CURRENT_SESSION_VERSION,@earendil-works/pi-coding-agent/CURRENT_SESSION_VERSION,DEFAULT_MAX_BYTES,@earendil-works/pi-coding-agent/DEFAULT_MAX_BYTES,DefaultResourceLoader,@earendil-works/pi-coding-agent/DefaultResourceLoader,ModelRegistry,@earendil-works/pi-coding-agent/ModelRegistry,ModelRuntime,@earendil-works/pi-coding-agent/ModelRuntime,SessionManager,@earendil-works/pi-coding-agent/SessionManager,SettingsManager,@earendil-works/pi-coding-agent/SettingsManager,createAgentSession,@earendil-works/pi-coding-agent/createAgentSession,createMcpExtension,@earendil-works/pi-coding-agent/createMcpExtension,createReadToolDefinition,@earendil-works/pi-coding-agent/createReadToolDefinition,createSyntheticSourceInfo,@earendil-works/pi-coding-agent/createSyntheticSourceInfo,createToolSearchExtension,@earendil-works/pi-coding-agent/createToolSearchExtension,defineTool,@earendil-works/pi-coding-agent/defineTool,detectSupportedImageMimeTypeFromFile,@earendil-works/pi-coding-agent/detectSupportedImageMimeTypeFromFile,formatSize,@earendil-works/pi-coding-agent/formatSize,migrateSessionEntries,@earendil-works/pi-coding-agent/migrateSessionEntries,stripFrontmatter,@earendil-works/pi-coding-agent/stripFrontmatter,truncateHead,@earendil-works/pi-coding-agent/truncateHead,truncateTail,@earendil-works/pi-coding-agent/truncateTail,CreateModelRuntimeOptions,@earendil-works/pi-coding-agent/CreateModelRuntimeOptions,ExtensionFactory,@earendil-works/pi-coding-agent/ExtensionFactory,ProviderConfig,@earendil-works/pi-coding-agent/ProviderConfig,ReadOperations,@earendil-works/pi-coding-agent/ReadOperations,AgentSession,@earendil-works/pi-coding-agent/AgentSession,SessionEntry,@earendil-works/pi-coding-agent/SessionEntry,SessionHeader,@earendil-works/pi-coding-agent/SessionHeader,AgentToolResult,@earendil-works/pi-coding-agent/AgentToolResult,ExtensionAPI,@earendil-works/pi-coding-agent/ExtensionAPI,McpExposure,@earendil-works/pi-coding-agent/McpExposure,McpServerConfig,@earendil-works/pi-coding-agent/McpServerConfig,Skill,@earendil-works/pi-coding-agent/Skill,ToolDefinition,@earendil-works/pi-coding-agent/ToolDefinition,TruncationResult,@earendil-works/pi-coding-agent/TruncationResult"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@earendil-works/pi-coding-agent/package.json"
              }
            ],
            "concludedValue": "node_modules/@earendil-works/pi-coding-agent/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/index.js",
            "line": 4
          },
          {
            "location": "dist/index.js",
            "line": 119
          },
          {
            "location": "dist/index.js",
            "line": 125
          },
          {
            "location": "dist/index.js",
            "line": 941
          },
          {
            "location": "dist/index.js",
            "line": 957
          },
          {
            "location": "dist/index.js",
            "line": 988
          },
          {
            "location": "dist/index.js",
            "line": 1005
          },
          {
            "location": "dist/index.js",
            "line": 1009
          },
          {
            "location": "dist/index.js",
            "line": 1013
          },
          {
            "location": "dist/index.js",
            "line": 1019
          },
          {
            "location": "dist/index.js",
            "line": 1066
          },
          {
            "location": "dist/index.js",
            "line": 1119
          },
          {
            "location": "dist/index.js",
            "line": 1800
          },
          {
            "location": "dist/index.js",
            "line": 1928
          },
          {
            "location": "dist/index.js",
            "line": 1965
          },
          {
            "location": "dist/index.js",
            "line": 1998
          },
          {
            "location": "dist/index.js",
            "line": 2371
          },
          {
            "location": "dist/index.js",
            "line": 2786
          },
          {
            "location": "dist/index.js",
            "line": 2789
          },
          {
            "location": "dist/index.js",
            "line": 2817
          },
          {
            "location": "dist/index.js",
            "line": 2836
          },
          {
            "location": "dist/index.js",
            "line": 2856
          },
          {
            "location": "dist/index.js",
            "line": 2883
          },
          {
            "location": "dist/index.js",
            "line": 2906
          },
          {
            "location": "dist/index.js",
            "line": 2925
          },
          {
            "location": "dist/index.js",
            "line": 2973
          },
          {
            "location": "src/pi-auth.ts",
            "line": 5
          },
          {
            "location": "src/pi-auth.ts",
            "line": 132
          },
          {
            "location": "src/pi-auth.ts",
            "line": 141
          },
          {
            "location": "src/pi-harness.test-d.ts",
            "line": 1
          },
          {
            "location": "src/pi-harness.ts",
            "line": 7
          },
          {
            "location": "src/pi-model-resolver.ts",
            "line": 1
          },
          {
            "location": "src/pi-read-operations.ts",
            "line": 5
          },
          {
            "location": "src/pi-read-operations.ts",
            "line": 23
          },
          {
            "location": "src/pi-read-operations.ts",
            "line": 50
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 6
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 7
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 147
          },
          {
            "location": "src/pi-session.ts",
            "line": 22
          },
          {
            "location": "src/pi-session.ts",
            "line": 323
          },
          {
            "location": "src/pi-session.ts",
            "line": 631
          },
          {
            "location": "src/pi-session.ts",
            "line": 699
          },
          {
            "location": "src/pi-session.ts",
            "line": 702
          },
          {
            "location": "src/pi-session.ts",
            "line": 751
          },
          {
            "location": "src/pi-session.ts",
            "line": 752
          },
          {
            "location": "src/pi-session.ts",
            "line": 1359
          },
          {
            "location": "src/pi-session.ts",
            "line": 1999
          },
          {
            "location": "src/pi-session.ts",
            "line": 2002
          },
          {
            "location": "src/pi-session.ts",
            "line": 2040
          },
          {
            "location": "src/pi-session.ts",
            "line": 2061
          },
          {
            "location": "src/pi-session.ts",
            "line": 2087
          },
          {
            "location": "src/pi-session.ts",
            "line": 2128
          },
          {
            "location": "src/pi-session.ts",
            "line": 2159
          },
          {
            "location": "src/pi-session.ts",
            "line": 2190
          },
          {
            "location": "src/pi-session.ts",
            "line": 2276
          },
          {
            "location": "src/pi-skill-command.ts",
            "line": 1
          },
          {
            "location": "src/pi-skill-command.ts",
            "line": 51
          },
          {
            "location": "src/pi-tool-batch.ts",
            "line": 4
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 7
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 31
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 42
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 54
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 61
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 63
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 139
          }
        ]
      },
      "tags": [
        "cli",
        "tools"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "sandbox-just-bash",
      "version": "1.0.175",
      "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/sandbox-just-bash@1.0.175",
      "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/sandbox-just-bash@1.0.175",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/sandbox-just-bash/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/@ai-sdk/sandbox-just-bash/package.json"
              }
            ],
            "concludedValue": "node_modules/@ai-sdk/sandbox-just-bash/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "provider-utils",
      "version": "5.0.75",
      "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.75",
      "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.75",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/provider-utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/provider-utils,isRecord,@ai-sdk/provider-utils/isRecord,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": 41
          },
          {
            "location": "dist/index.js",
            "line": 42
          },
          {
            "location": "dist/index.js",
            "line": 45
          },
          {
            "location": "dist/index.js",
            "line": 1174
          },
          {
            "location": "dist/index.js",
            "line": 1366
          },
          {
            "location": "dist/index.js",
            "line": 1947
          },
          {
            "location": "dist/index.js",
            "line": 3060
          },
          {
            "location": "src/pi-harness.ts",
            "line": 6
          },
          {
            "location": "src/pi-harness.ts",
            "line": 200
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 4
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 7
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 78
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 88
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 107
          },
          {
            "location": "src/pi-session.ts",
            "line": 54
          },
          {
            "location": "src/pi-session.ts",
            "line": 663
          },
          {
            "location": "src/pi-skill-command.ts",
            "line": 2
          },
          {
            "location": "src/pi-translate.ts",
            "line": 3
          },
          {
            "location": "src/pi-translate.ts",
            "line": 225
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "harness",
      "version": "1.0.175",
      "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.175",
      "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.175",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/harness/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/harness,HarnessCapabilityUnsupportedError,@ai-sdk/harness/HarnessCapabilityUnsupportedError,HarnessError,@ai-sdk/harness/HarnessError,commonTool,@ai-sdk/harness/commonTool,HarnessV1Authentication,@ai-sdk/harness/HarnessV1Authentication,HarnessV1,@ai-sdk/harness/HarnessV1,HarnessV1BuiltinTool,@ai-sdk/harness/HarnessV1BuiltinTool,HarnessV1BuiltinToolFiltering,@ai-sdk/harness/HarnessV1BuiltinToolFiltering,HarnessV1ContinueTurnOptions,@ai-sdk/harness/HarnessV1ContinueTurnOptions,HarnessV1ContinueTurnState,@ai-sdk/harness/HarnessV1ContinueTurnState,HarnessV1PromptControl,@ai-sdk/harness/HarnessV1PromptControl,HarnessV1PromptTurnOptions,@ai-sdk/harness/HarnessV1PromptTurnOptions,HarnessV1NetworkSandboxSession,@ai-sdk/harness/HarnessV1NetworkSandboxSession,HarnessV1LifecycleState,@ai-sdk/harness/HarnessV1LifecycleState,HarnessV1PermissionMode,@ai-sdk/harness/HarnessV1PermissionMode,HarnessV1ResumeSessionState,@ai-sdk/harness/HarnessV1ResumeSessionState,HarnessV1Session,@ai-sdk/harness/HarnessV1Session,HarnessV1Skill,@ai-sdk/harness/HarnessV1Skill,HarnessV1StreamPart,@ai-sdk/harness/HarnessV1StreamPart,HarnessV1ToolSpec,@ai-sdk/harness/HarnessV1ToolSpec,HarnessV1Prompt,@ai-sdk/harness/HarnessV1Prompt,@ai-sdk/harness/utils,convertHarnessToolModelOutput,@ai-sdk/harness/utils/convertHarnessToolModelOutput,extractHarnessPromptContent,@ai-sdk/harness/utils/extractHarnessPromptContent,getAiGatewayAuthFromEnv,@ai-sdk/harness/utils/getAiGatewayAuthFromEnv,getRestrictedSandboxSession,@ai-sdk/harness/utils/getRestrictedSandboxSession,isHarnessAuthenticationEnvironment,@ai-sdk/harness/utils/isHarnessAuthenticationEnvironment,resolveSandboxHomeDir,@ai-sdk/harness/utils/resolveSandboxHomeDir,shellQuote,@ai-sdk/harness/utils/shellQuote,writeSkills,@ai-sdk/harness/utils/writeSkills,HarnessToolModelOutputContent,@ai-sdk/harness/utils/HarnessToolModelOutputContent"
        },
        {
          "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": 2997
          },
          {
            "location": "dist/index.js",
            "line": 3007
          },
          {
            "location": "dist/index.js",
            "line": 3016
          },
          {
            "location": "dist/index.js",
            "line": 3026
          },
          {
            "location": "dist/index.js",
            "line": 3035
          },
          {
            "location": "dist/index.js",
            "line": 3049
          },
          {
            "location": "src/pi-auth.ts",
            "line": 6
          },
          {
            "location": "src/pi-harness.ts",
            "line": 5
          },
          {
            "location": "src/pi-harness.ts",
            "line": 136
          },
          {
            "location": "src/pi-harness.ts",
            "line": 147
          },
          {
            "location": "src/pi-harness.ts",
            "line": 156
          },
          {
            "location": "src/pi-harness.ts",
            "line": 166
          },
          {
            "location": "src/pi-harness.ts",
            "line": 175
          },
          {
            "location": "src/pi-harness.ts",
            "line": 189
          },
          {
            "location": "src/pi-session-storage.ts",
            "line": 1
          },
          {
            "location": "src/pi-session.ts",
            "line": 44
          },
          {
            "location": "src/pi-translate.ts",
            "line": 2
          },
          {
            "location": "src/pi-utils.ts",
            "line": 5
          },
          {
            "location": "src/test-helpers.ts",
            "line": 5
          },
          {
            "location": "dist/index.js",
            "line": 10
          },
          {
            "location": "dist/index.js",
            "line": 119
          },
          {
            "location": "dist/index.js",
            "line": 169
          },
          {
            "location": "dist/index.js",
            "line": 170
          },
          {
            "location": "dist/index.js",
            "line": 206
          },
          {
            "location": "dist/index.js",
            "line": 248
          },
          {
            "location": "dist/index.js",
            "line": 266
          },
          {
            "location": "dist/index.js",
            "line": 387
          },
          {
            "location": "dist/index.js",
            "line": 500
          },
          {
            "location": "dist/index.js",
            "line": 597
          },
          {
            "location": "dist/index.js",
            "line": 621
          },
          {
            "location": "dist/index.js",
            "line": 626
          },
          {
            "location": "dist/index.js",
            "line": 732
          },
          {
            "location": "dist/index.js",
            "line": 756
          },
          {
            "location": "dist/index.js",
            "line": 757
          },
          {
            "location": "dist/index.js",
            "line": 758
          },
          {
            "location": "dist/index.js",
            "line": 777
          },
          {
            "location": "dist/index.js",
            "line": 781
          },
          {
            "location": "dist/index.js",
            "line": 826
          },
          {
            "location": "dist/index.js",
            "line": 827
          },
          {
            "location": "dist/index.js",
            "line": 828
          },
          {
            "location": "dist/index.js",
            "line": 829
          },
          {
            "location": "dist/index.js",
            "line": 830
          },
          {
            "location": "dist/index.js",
            "line": 836
          },
          {
            "location": "dist/index.js",
            "line": 864
          },
          {
            "location": "dist/index.js",
            "line": 868
          },
          {
            "location": "dist/index.js",
            "line": 871
          },
          {
            "location": "dist/index.js",
            "line": 872
          },
          {
            "location": "dist/index.js",
            "line": 876
          },
          {
            "location": "dist/index.js",
            "line": 877
          },
          {
            "location": "dist/index.js",
            "line": 878
          },
          {
            "location": "dist/index.js",
            "line": 879
          },
          {
            "location": "dist/index.js",
            "line": 881
          },
          {
            "location": "dist/index.js",
            "line": 1254
          },
          {
            "location": "dist/index.js",
            "line": 1828
          },
          {
            "location": "dist/index.js",
            "line": 1844
          },
          {
            "location": "dist/index.js",
            "line": 1884
          },
          {
            "location": "dist/index.js",
            "line": 2951
          },
          {
            "location": "src/pi-auth.ts",
            "line": 10
          },
          {
            "location": "src/pi-auth.ts",
            "line": 131
          },
          {
            "location": "src/pi-auth.ts",
            "line": 229
          },
          {
            "location": "src/pi-auth.ts",
            "line": 231
          },
          {
            "location": "src/pi-auth.ts",
            "line": 331
          },
          {
            "location": "src/pi-auth.ts",
            "line": 368
          },
          {
            "location": "src/pi-auth.ts",
            "line": 393
          },
          {
            "location": "src/pi-model-resolver.ts",
            "line": 2
          },
          {
            "location": "src/pi-model-resolver.ts",
            "line": 60
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 3
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 100
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 137
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 154
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 347
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 388
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 389
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 390
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 439
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 447
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 448
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 531
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 532
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 533
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 534
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 535
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 541
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 569
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 573
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 577
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 578
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 584
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 585
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 586
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 587
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 597
          },
          {
            "location": "src/pi-session.ts",
            "line": 50
          },
          {
            "location": "src/pi-session.ts",
            "line": 486
          },
          {
            "location": "src/pi-session.ts",
            "line": 520
          },
          {
            "location": "src/pi-session.ts",
            "line": 570
          },
          {
            "location": "src/pi-session.ts",
            "line": 2238
          },
          {
            "location": "src/pi-subscription.ts",
            "line": 3
          },
          {
            "location": "src/pi-subscription.ts",
            "line": 17
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 8
          },
          {
            "location": "src/pi-utils.ts",
            "line": 6
          },
          {
            "location": "src/pi-utils.ts",
            "line": 20
          }
        ]
      },
      "tags": [
        "framework"
      ]
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@ai-sdk/harness-pi@1.0.178"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.9.1",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.9.1",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.9.1",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-11-10T02:26:45Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, November 10, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'harness-pi' with version '1.0.178'. The package type in this SBOM is npm with 4 purl namespaces described under components. The components were identified from 11 source files."
    }
  ]
}