{
  "@context": "https://spdx.org/rdf/3.0.1/spdx-context.jsonld",
  "@graph": [
    {
      "@id": "_:creationInfo_0",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd0"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/additionalToolSPDXRef-gnrtd1"
      ],
      "created": "2026-10-02T06:10:53Z"
    },
    {
      "@id": "_:creationInfo_1",
      "type": "CreationInfo",
      "specVersion": "3.0.1",
      "createdBy": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd2"
      ],
      "createdUsing": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/additionalToolSPDXRef-gnrtd3"
      ],
      "created": "2026-10-02T06:10:53Z"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26191",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26183",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26189",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26183",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26186",
      "type": "Relationship",
      "relationshipType": "hasConcludedLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26185",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26188",
      "type": "Relationship",
      "relationshipType": "hasDeclaredLicense",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd20"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26185",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26184",
      "type": "LifecycleScopedRelationship",
      "relationshipType": "dependsOn",
      "scope": "build",
      "completeness": "noAssertion",
      "to": [
        "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26185"
      ],
      "from": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26183",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd20",
      "type": "simplelicensing_LicenseExpression",
      "simplelicensing_licenseExpression": "MIT",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26187",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26190",
      "type": "Organization",
      "name": "http://openeuler.org",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26185",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26187",
      "software_downloadLocation": "NOASSERTION",
      "summary": "Witty Service - AI Agent lifecycle management backend for PolyMind",
      "software_packageVersion": "0:1.2.2-3.oe2609",
      "software_homePage": "https://atomgit.com/openeuler/witty-service",
      "description": "Witty Service is the backend of PolyMind: a FastAPI based AI agent lifecycle\nmanagement service that provides agent creation, sandboxed execution, session\nand message APIs, skill marketplace and model management.\n\nThe package bundles a Python 3.12.12 runtime, all Python runtime\ndependencies, the OpenClaw CLI and a Node.js 22.23.2 runtime,\nso the installed RPM works without network access. The OpenCode CLI is not\nbundled: this package requires the opencode RPM (>= 1.17.13)\nand drives the /usr/bin/opencode it installs. It installs a systemd unit\n(witty-backend.service) that runs the API on 127.0.0.1:8000 for the PolyMind\nfrontend.",
      "name": "witty-service",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/0fcb923e8b0ce983cca762c2475c2677e850abc500e11ded759f15f9e00dabcc-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/witty-service@1.2.2-3.oe2609?arch=aarch64&epoch=0&upstream=witty-service-1.2.2-3.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26183",
      "type": "software_Package",
      "software_copyrightText": "",
      "suppliedBy": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/SPDXRef-gnrtd26190",
      "software_downloadLocation": "NOASSERTION",
      "summary": "PolyMind - Self-hosted AI agent interaction platform",
      "software_packageVersion": "0:1.0.1-10.oe2609",
      "software_homePage": "https://atomgit.com/openeuler/polymind",
      "description": "PolyMind is a self-hosted AI agent interaction platform with native agentd\nservice integration. It combines AI chat, agent workflow orchestration and\nmulti-model management into an out-of-the-box solution for building your own\nAI agent runtime environment.\n\nThis package ships the frontend as a self-contained Electron desktop\napplication: the Next.js static export is served from an in-process app://\nprotocol handler, and the /api prefix is reverse-proxied by the main process\nto the local witty-service backend. Neither nginx nor a Node.js runtime is\nneeded any more, and the client configuration (including the auth token) is\ninjected at runtime instead of being baked into the build.",
      "name": "polymind",
      "software_sourceInfo": "acquired package info from repodata DB: repodata/0fcb923e8b0ce983cca762c2475c2677e850abc500e11ded759f15f9e00dabcc-primary.sqlite.bz2",
      "software_packageUrl": "pkg:rpm/polymind@1.0.1-10.oe2609?arch=aarch64&epoch=0&upstream=polymind-1.0.1-10.oe2609.src.rpm",
      "creationInfo": "_:creationInfo_0"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/additionalToolSPDXRef-gnrtd3",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_1"
    },
    {
      "spdxId": "https://anchore.com/syft/dir/repo/openeuler/openEuler-26.09/EPOL/main/aarch64-84cbbba3-c3eb-4e9c-9830-26cc65999dea-specv3/additionalToolSPDXRef-gnrtd1",
      "type": "Tool",
      "name": "syft-[not provided]",
      "creationInfo": "_:creationInfo_0"
    }
  ]
}