{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:f7d789b2-3486-44e6-9c09-bcc22180b59f",
  "version": 1,
  "metadata": {
    "timestamp": "2026-10-08T06:45:49Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "harness-pi",
      "group": "@ai-sdk",
      "version": "1.0.143",
      "purl": "pkg:npm/%40ai-sdk/harness-pi@1.0.143",
      "bom-ref": "pkg:npm/@ai-sdk/harness-pi@1.0.143",
      "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-ai/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/pi-mcp-adapter/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": 4
          },
          {
            "location": "dist/index.js",
            "line": 20
          },
          {
            "location": "dist/index.js",
            "line": 28
          },
          {
            "location": "dist/index.js",
            "line": 433
          },
          {
            "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": 439
          },
          {
            "location": "dist/index.js",
            "line": 441
          },
          {
            "location": "dist/index.js",
            "line": 442
          },
          {
            "location": "dist/index.js",
            "line": 443
          },
          {
            "location": "dist/index.js",
            "line": 444
          },
          {
            "location": "dist/index.js",
            "line": 445
          },
          {
            "location": "dist/index.js",
            "line": 446
          },
          {
            "location": "dist/index.js",
            "line": 447
          },
          {
            "location": "dist/index.js",
            "line": 448
          },
          {
            "location": "dist/index.js",
            "line": 449
          },
          {
            "location": "dist/index.js",
            "line": 450
          },
          {
            "location": "dist/index.js",
            "line": 451
          },
          {
            "location": "dist/index.js",
            "line": 452
          },
          {
            "location": "dist/index.js",
            "line": 454
          },
          {
            "location": "dist/index.js",
            "line": 455
          },
          {
            "location": "dist/index.js",
            "line": 456
          },
          {
            "location": "dist/index.js",
            "line": 457
          },
          {
            "location": "dist/index.js",
            "line": 458
          },
          {
            "location": "dist/index.js",
            "line": 2960
          },
          {
            "location": "dist/index.js",
            "line": 2961
          },
          {
            "location": "dist/index.js",
            "line": 2962
          },
          {
            "location": "dist/index.js",
            "line": 2963
          },
          {
            "location": "dist/index.js",
            "line": 2970
          },
          {
            "location": "dist/index.js",
            "line": 2971
          },
          {
            "location": "dist/index.js",
            "line": 2972
          },
          {
            "location": "dist/index.js",
            "line": 2979
          },
          {
            "location": "dist/index.js",
            "line": 2980
          },
          {
            "location": "dist/index.js",
            "line": 2981
          },
          {
            "location": "dist/index.js",
            "line": 2982
          },
          {
            "location": "dist/index.js",
            "line": 2989
          },
          {
            "location": "dist/index.js",
            "line": 2990
          },
          {
            "location": "dist/index.js",
            "line": 2991
          },
          {
            "location": "dist/index.js",
            "line": 2998
          },
          {
            "location": "dist/index.js",
            "line": 2999
          },
          {
            "location": "dist/index.js",
            "line": 3000
          },
          {
            "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": 3005
          },
          {
            "location": "dist/index.js",
            "line": 3012
          },
          {
            "location": "dist/index.js",
            "line": 3013
          },
          {
            "location": "dist/index.js",
            "line": 3014
          },
          {
            "location": "dist/index.js",
            "line": 3015
          },
          {
            "location": "dist/index.js",
            "line": 3021
          },
          {
            "location": "dist/index.js",
            "line": 3022
          },
          {
            "location": "dist/index.js",
            "line": 3023
          },
          {
            "location": "dist/index.js",
            "line": 3025
          },
          {
            "location": "src/pi-events.ts",
            "line": 1
          },
          {
            "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": 13
          },
          {
            "location": "src/pi-events.ts",
            "line": 14
          },
          {
            "location": "src/pi-events.ts",
            "line": 19
          },
          {
            "location": "src/pi-events.ts",
            "line": 20
          },
          {
            "location": "src/pi-events.ts",
            "line": 21
          },
          {
            "location": "src/pi-events.ts",
            "line": 25
          },
          {
            "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": 29
          },
          {
            "location": "src/pi-events.ts",
            "line": 30
          },
          {
            "location": "src/pi-events.ts",
            "line": 31
          },
          {
            "location": "src/pi-events.ts",
            "line": 35
          },
          {
            "location": "src/pi-events.ts",
            "line": 36
          },
          {
            "location": "src/pi-events.ts",
            "line": 37
          },
          {
            "location": "src/pi-events.ts",
            "line": 39
          },
          {
            "location": "src/pi-events.ts",
            "line": 40
          },
          {
            "location": "src/pi-events.ts",
            "line": 41
          },
          {
            "location": "src/pi-events.ts",
            "line": 42
          },
          {
            "location": "src/pi-events.ts",
            "line": 46
          },
          {
            "location": "src/pi-events.ts",
            "line": 48
          },
          {
            "location": "src/pi-events.ts",
            "line": 49
          },
          {
            "location": "src/pi-events.ts",
            "line": 50
          },
          {
            "location": "src/pi-events.ts",
            "line": 51
          },
          {
            "location": "src/pi-harness.ts",
            "line": 11
          },
          {
            "location": "src/pi-harness.ts",
            "line": 79
          },
          {
            "location": "src/pi-harness.ts",
            "line": 80
          },
          {
            "location": "src/pi-harness.ts",
            "line": 81
          },
          {
            "location": "src/pi-harness.ts",
            "line": 82
          },
          {
            "location": "src/pi-harness.ts",
            "line": 89
          },
          {
            "location": "src/pi-harness.ts",
            "line": 90
          },
          {
            "location": "src/pi-harness.ts",
            "line": 91
          },
          {
            "location": "src/pi-harness.ts",
            "line": 98
          },
          {
            "location": "src/pi-harness.ts",
            "line": 99
          },
          {
            "location": "src/pi-harness.ts",
            "line": 100
          },
          {
            "location": "src/pi-harness.ts",
            "line": 101
          },
          {
            "location": "src/pi-harness.ts",
            "line": 108
          },
          {
            "location": "src/pi-harness.ts",
            "line": 109
          },
          {
            "location": "src/pi-harness.ts",
            "line": 110
          },
          {
            "location": "src/pi-harness.ts",
            "line": 117
          },
          {
            "location": "src/pi-harness.ts",
            "line": 118
          },
          {
            "location": "src/pi-harness.ts",
            "line": 119
          },
          {
            "location": "src/pi-harness.ts",
            "line": 120
          },
          {
            "location": "src/pi-harness.ts",
            "line": 121
          },
          {
            "location": "src/pi-harness.ts",
            "line": 122
          },
          {
            "location": "src/pi-harness.ts",
            "line": 123
          },
          {
            "location": "src/pi-harness.ts",
            "line": 124
          },
          {
            "location": "src/pi-harness.ts",
            "line": 131
          },
          {
            "location": "src/pi-harness.ts",
            "line": 132
          },
          {
            "location": "src/pi-harness.ts",
            "line": 133
          },
          {
            "location": "src/pi-harness.ts",
            "line": 134
          },
          {
            "location": "src/pi-harness.ts",
            "line": 140
          },
          {
            "location": "src/pi-harness.ts",
            "line": 141
          },
          {
            "location": "src/pi-harness.ts",
            "line": 142
          },
          {
            "location": "src/pi-harness.ts",
            "line": 144
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 5
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 16
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 30
          }
        ]
      },
      "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": 10
          },
          {
            "location": "dist/index.js",
            "line": 1324
          },
          {
            "location": "dist/index.js",
            "line": 2778
          },
          {
            "location": "dist/index.js",
            "line": 2779
          },
          {
            "location": "dist/index.js",
            "line": 2780
          },
          {
            "location": "dist/index.js",
            "line": 2784
          },
          {
            "location": "dist/index.js",
            "line": 2808
          },
          {
            "location": "dist/index.js",
            "line": 2809
          },
          {
            "location": "dist/index.js",
            "line": 2810
          },
          {
            "location": "dist/index.js",
            "line": 2827
          },
          {
            "location": "dist/index.js",
            "line": 2828
          },
          {
            "location": "dist/index.js",
            "line": 2829
          },
          {
            "location": "dist/index.js",
            "line": 2830
          },
          {
            "location": "dist/index.js",
            "line": 2847
          },
          {
            "location": "dist/index.js",
            "line": 2848
          },
          {
            "location": "dist/index.js",
            "line": 2849
          },
          {
            "location": "dist/index.js",
            "line": 2873
          },
          {
            "location": "dist/index.js",
            "line": 2874
          },
          {
            "location": "dist/index.js",
            "line": 2875
          },
          {
            "location": "dist/index.js",
            "line": 2876
          },
          {
            "location": "dist/index.js",
            "line": 2877
          },
          {
            "location": "dist/index.js",
            "line": 2878
          },
          {
            "location": "dist/index.js",
            "line": 2879
          },
          {
            "location": "dist/index.js",
            "line": 2880
          },
          {
            "location": "dist/index.js",
            "line": 2896
          },
          {
            "location": "dist/index.js",
            "line": 2897
          },
          {
            "location": "dist/index.js",
            "line": 2898
          },
          {
            "location": "dist/index.js",
            "line": 2899
          },
          {
            "location": "dist/index.js",
            "line": 2915
          },
          {
            "location": "dist/index.js",
            "line": 2916
          },
          {
            "location": "dist/index.js",
            "line": 2917
          },
          {
            "location": "src/pi-session.ts",
            "line": 19
          },
          {
            "location": "src/pi-session.ts",
            "line": 1796
          },
          {
            "location": "src/pi-session.ts",
            "line": 1797
          },
          {
            "location": "src/pi-session.ts",
            "line": 1798
          },
          {
            "location": "src/pi-session.ts",
            "line": 1799
          },
          {
            "location": "src/pi-session.ts",
            "line": 1804
          },
          {
            "location": "src/pi-session.ts",
            "line": 1805
          },
          {
            "location": "src/pi-session.ts",
            "line": 1834
          },
          {
            "location": "src/pi-session.ts",
            "line": 1835
          },
          {
            "location": "src/pi-session.ts",
            "line": 1836
          },
          {
            "location": "src/pi-session.ts",
            "line": 1854
          },
          {
            "location": "src/pi-session.ts",
            "line": 1855
          },
          {
            "location": "src/pi-session.ts",
            "line": 1856
          },
          {
            "location": "src/pi-session.ts",
            "line": 1857
          },
          {
            "location": "src/pi-session.ts",
            "line": 1879
          },
          {
            "location": "src/pi-session.ts",
            "line": 1880
          },
          {
            "location": "src/pi-session.ts",
            "line": 1881
          },
          {
            "location": "src/pi-session.ts",
            "line": 1882
          },
          {
            "location": "src/pi-session.ts",
            "line": 1919
          },
          {
            "location": "src/pi-session.ts",
            "line": 1920
          },
          {
            "location": "src/pi-session.ts",
            "line": 1921
          },
          {
            "location": "src/pi-session.ts",
            "line": 1922
          },
          {
            "location": "src/pi-session.ts",
            "line": 1923
          },
          {
            "location": "src/pi-session.ts",
            "line": 1924
          },
          {
            "location": "src/pi-session.ts",
            "line": 1925
          },
          {
            "location": "src/pi-session.ts",
            "line": 1926
          },
          {
            "location": "src/pi-session.ts",
            "line": 1949
          },
          {
            "location": "src/pi-session.ts",
            "line": 1950
          },
          {
            "location": "src/pi-session.ts",
            "line": 1951
          },
          {
            "location": "src/pi-session.ts",
            "line": 1952
          },
          {
            "location": "src/pi-session.ts",
            "line": 1979
          },
          {
            "location": "src/pi-session.ts",
            "line": 1980
          },
          {
            "location": "src/pi-session.ts",
            "line": 1981
          },
          {
            "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"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Nico Bailon"
        }
      ],
      "group": "",
      "name": "pi-mcp-adapter",
      "version": "2.12.1",
      "description": "MCP (Model Context Protocol) adapter extension for Pi coding agent",
      "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/pi-mcp-adapter@2.12.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/nicobailon/pi-mcp-adapter.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/pi-mcp-adapter@2.12.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/pi-mcp-adapter/package.json"
        },
        {
          "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": "pi-mcp-adapter"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "tags": [
        "mcp",
        "mcp-sdk"
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/pi-mcp-adapter/package.json"
              }
            ],
            "concludedValue": "node_modules/pi-mcp-adapter/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": "0.85.1",
      "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@0.85.1",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/earendil-works/pi.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@earendil-works/pi-coding-agent@0.85.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@earendil-works/pi-coding-agent/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@earendil-works/pi-coding-agent,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,defineTool,@earendil-works/pi-coding-agent/defineTool,formatSize,@earendil-works/pi-coding-agent/formatSize,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,AgentSession,@earendil-works/pi-coding-agent/AgentSession,AgentToolResult,@earendil-works/pi-coding-agent/AgentToolResult,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": 8
          },
          {
            "location": "dist/index.js",
            "line": 150
          },
          {
            "location": "dist/index.js",
            "line": 156
          },
          {
            "location": "dist/index.js",
            "line": 885
          },
          {
            "location": "dist/index.js",
            "line": 889
          },
          {
            "location": "dist/index.js",
            "line": 893
          },
          {
            "location": "dist/index.js",
            "line": 897
          },
          {
            "location": "dist/index.js",
            "line": 902
          },
          {
            "location": "dist/index.js",
            "line": 914
          },
          {
            "location": "dist/index.js",
            "line": 915
          },
          {
            "location": "dist/index.js",
            "line": 919
          },
          {
            "location": "dist/index.js",
            "line": 2048
          },
          {
            "location": "dist/index.js",
            "line": 2178
          },
          {
            "location": "dist/index.js",
            "line": 2371
          },
          {
            "location": "dist/index.js",
            "line": 2372
          },
          {
            "location": "dist/index.js",
            "line": 2774
          },
          {
            "location": "dist/index.js",
            "line": 2804
          },
          {
            "location": "dist/index.js",
            "line": 2823
          },
          {
            "location": "dist/index.js",
            "line": 2843
          },
          {
            "location": "dist/index.js",
            "line": 2869
          },
          {
            "location": "dist/index.js",
            "line": 2892
          },
          {
            "location": "dist/index.js",
            "line": 2911
          },
          {
            "location": "dist/index.js",
            "line": 2937
          },
          {
            "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.ts",
            "line": 10
          },
          {
            "location": "src/pi-model-resolver.ts",
            "line": 1
          },
          {
            "location": "src/pi-session.ts",
            "line": 14
          },
          {
            "location": "src/pi-session.ts",
            "line": 503
          },
          {
            "location": "src/pi-session.ts",
            "line": 504
          },
          {
            "location": "src/pi-session.ts",
            "line": 722
          },
          {
            "location": "src/pi-session.ts",
            "line": 1121
          },
          {
            "location": "src/pi-session.ts",
            "line": 1123
          },
          {
            "location": "src/pi-session.ts",
            "line": 1791
          },
          {
            "location": "src/pi-session.ts",
            "line": 1830
          },
          {
            "location": "src/pi-session.ts",
            "line": 1850
          },
          {
            "location": "src/pi-session.ts",
            "line": 1875
          },
          {
            "location": "src/pi-session.ts",
            "line": 1915
          },
          {
            "location": "src/pi-session.ts",
            "line": 1945
          },
          {
            "location": "src/pi-session.ts",
            "line": 1975
          },
          {
            "location": "src/pi-session.ts",
            "line": 2014
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 7
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 37
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 48
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 57
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 64
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 66
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 80
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 112
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 115
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 118
          },
          {
            "location": "src/pi-tool-result.ts",
            "line": 129
          }
        ]
      },
      "tags": [
        "cli",
        "tools"
      ]
    },
    {
      "authors": [
        {
          "name": "Mario Zechner"
        }
      ],
      "group": "@earendil-works",
      "name": "pi-ai",
      "version": "0.74.2",
      "description": "Unified LLM API with automatic model discovery and provider configuration",
      "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-ai@0.74.2",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/earendil-works/pi-mono.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@earendil-works/pi-ai@0.74.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@earendil-works/pi-ai/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/@earendil-works/pi-ai/package.json"
              }
            ],
            "concludedValue": "node_modules/@earendil-works/pi-ai/package.json"
          }
        ]
      },
      "tags": [
        "api"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "sandbox-just-bash",
      "version": "1.0.141",
      "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.141",
      "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.141",
      "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.56",
      "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.56",
      "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.56",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/provider-utils/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/provider-utils,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": 3
          },
          {
            "location": "dist/index.js",
            "line": 1015
          },
          {
            "location": "dist/index.js",
            "line": 3019
          },
          {
            "location": "src/pi-harness.ts",
            "line": 6
          },
          {
            "location": "src/pi-harness.ts",
            "line": 138
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 4
          },
          {
            "location": "src/pi-resume-state.ts",
            "line": 4
          },
          {
            "location": "src/pi-session.ts",
            "line": 40
          },
          {
            "location": "src/pi-translate.ts",
            "line": 3
          },
          {
            "location": "src/pi-translate.ts",
            "line": 155
          },
          {
            "location": "src/pi-workspace-mirror.ts",
            "line": 12
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "group": "@ai-sdk",
      "name": "harness",
      "version": "1.0.141",
      "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.141",
      "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.141",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@ai-sdk/harness/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@ai-sdk/harness,HarnessCapabilityUnsupportedError,@ai-sdk/harness/HarnessCapabilityUnsupportedError,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,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,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"
        },
        {
          "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": 2
          },
          {
            "location": "dist/index.js",
            "line": 2956
          },
          {
            "location": "dist/index.js",
            "line": 2966
          },
          {
            "location": "dist/index.js",
            "line": 2975
          },
          {
            "location": "dist/index.js",
            "line": 2985
          },
          {
            "location": "dist/index.js",
            "line": 2994
          },
          {
            "location": "dist/index.js",
            "line": 3008
          },
          {
            "location": "src/pi-auth.ts",
            "line": 6
          },
          {
            "location": "src/pi-harness.ts",
            "line": 5
          },
          {
            "location": "src/pi-harness.ts",
            "line": 74
          },
          {
            "location": "src/pi-harness.ts",
            "line": 85
          },
          {
            "location": "src/pi-harness.ts",
            "line": 94
          },
          {
            "location": "src/pi-harness.ts",
            "line": 104
          },
          {
            "location": "src/pi-harness.ts",
            "line": 113
          },
          {
            "location": "src/pi-harness.ts",
            "line": 127
          },
          {
            "location": "src/pi-session.ts",
            "line": 34
          },
          {
            "location": "src/pi-translate.ts",
            "line": 2
          },
          {
            "location": "src/pi-utils.ts",
            "line": 5
          },
          {
            "location": "dist/index.js",
            "line": 11
          },
          {
            "location": "dist/index.js",
            "line": 150
          },
          {
            "location": "dist/index.js",
            "line": 200
          },
          {
            "location": "dist/index.js",
            "line": 201
          },
          {
            "location": "dist/index.js",
            "line": 237
          },
          {
            "location": "dist/index.js",
            "line": 279
          },
          {
            "location": "dist/index.js",
            "line": 297
          },
          {
            "location": "dist/index.js",
            "line": 418
          },
          {
            "location": "dist/index.js",
            "line": 519
          },
          {
            "location": "dist/index.js",
            "line": 615
          },
          {
            "location": "dist/index.js",
            "line": 655
          },
          {
            "location": "dist/index.js",
            "line": 670
          },
          {
            "location": "dist/index.js",
            "line": 697
          },
          {
            "location": "dist/index.js",
            "line": 716
          },
          {
            "location": "dist/index.js",
            "line": 717
          },
          {
            "location": "dist/index.js",
            "line": 718
          },
          {
            "location": "dist/index.js",
            "line": 728
          },
          {
            "location": "dist/index.js",
            "line": 764
          },
          {
            "location": "dist/index.js",
            "line": 765
          },
          {
            "location": "dist/index.js",
            "line": 766
          },
          {
            "location": "dist/index.js",
            "line": 767
          },
          {
            "location": "dist/index.js",
            "line": 768
          },
          {
            "location": "dist/index.js",
            "line": 774
          },
          {
            "location": "dist/index.js",
            "line": 802
          },
          {
            "location": "dist/index.js",
            "line": 805
          },
          {
            "location": "dist/index.js",
            "line": 808
          },
          {
            "location": "dist/index.js",
            "line": 809
          },
          {
            "location": "dist/index.js",
            "line": 812
          },
          {
            "location": "dist/index.js",
            "line": 813
          },
          {
            "location": "dist/index.js",
            "line": 814
          },
          {
            "location": "dist/index.js",
            "line": 815
          },
          {
            "location": "dist/index.js",
            "line": 817
          },
          {
            "location": "dist/index.js",
            "line": 1613
          },
          {
            "location": "dist/index.js",
            "line": 1614
          },
          {
            "location": "dist/index.js",
            "line": 1706
          },
          {
            "location": "dist/index.js",
            "line": 1993
          },
          {
            "location": "dist/index.js",
            "line": 2003
          },
          {
            "location": "dist/index.js",
            "line": 2404
          },
          {
            "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": 79
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 145
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 181
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 236
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 273
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 274
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 275
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 310
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 311
          },
          {
            "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": 391
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 392
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 398
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 426
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 429
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 433
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 434
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 439
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 440
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 441
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 442
          },
          {
            "location": "src/pi-remote-ops.ts",
            "line": 447
          },
          {
            "location": "src/pi-session.ts",
            "line": 39
          },
          {
            "location": "src/pi-session.ts",
            "line": 394
          },
          {
            "location": "src/pi-session.ts",
            "line": 420
          },
          {
            "location": "src/pi-session.ts",
            "line": 1194
          },
          {
            "location": "src/pi-subscription.ts",
            "line": 3
          },
          {
            "location": "src/pi-subscription.ts",
            "line": 17
          },
          {
            "location": "src/pi-workspace-mirror.ts",
            "line": 11
          },
          {
            "location": "src/pi-workspace-mirror.ts",
            "line": 108
          },
          {
            "location": "src/pi-workspace-mirror.ts",
            "line": 112
          },
          {
            "location": "src/pi-workspace-mirror.ts",
            "line": 208
          }
        ]
      },
      "tags": [
        "framework"
      ]
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/@ai-sdk/harness-pi@1.0.143"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.5",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.5",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.5",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-10-08T06:45:49Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Thursday, October 8, 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.143'. The package type in this SBOM is npm with 4 purl namespaces described under components. The components were identified from 12 source files."
    }
  ]
}