{"bomFormat":"CycloneDX","specVersion":"1.5","version":1,"serialNumber":"urn:uuid:f047fed6-2ed5-473e-b57d-bd7ac61e76c7","metadata":{"timestamp":"2026-04-18T05:39:21Z","tools":[{"vendor":"Ecosystems","name":"Ecosystems SBOM Generator"}],"component":{"type":"application","name":"Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator"}},"components":[{"type":"library","name":"actions/checkout","version":"v2.4.2","purl":"pkg:githubactions/actions/checkout","properties":[{"name":"filePath","value":".github/workflows/build.yml"}]},{"type":"library","name":"cachix/install-nix-action","version":"v17","purl":"pkg:githubactions/cachix/install-nix-action","properties":[{"name":"filePath","value":".github/workflows/build.yml"}]},{"type":"library","name":"cachix/cachix-action","version":"v10","purl":"pkg:githubactions/cachix/cachix-action","properties":[{"name":"filePath","value":".github/workflows/build.yml"}]},{"type":"library","name":"aeson","version":"*","purl":"pkg:hackage/aeson","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"base","version":"\u003e=4.7 \u0026\u0026 \u003c5","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"bytestring","version":"*","purl":"pkg:hackage/bytestring","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"http-client","version":"*","purl":"pkg:hackage/http-client","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"http-conduit","version":"*","purl":"pkg:hackage/http-conduit","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"openapi","version":"*","purl":"pkg:hackage/openapi","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"hspec","version":"*","purl":"pkg:hackage/hspec","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"petstore-running-example","version":"*","purl":"pkg:hackage/petstore-running-example","properties":[{"name":"filePath","value":"example/petstore-running-example.cabal"}]},{"type":"library","name":"base","version":"\u003e=4.7 \u0026\u0026 \u003c5","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"text","version":"*","purl":"pkg:hackage/text","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"ghc-prim","version":"*","purl":"pkg:hackage/ghc-prim","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"http-conduit","version":"*","purl":"pkg:hackage/http-conduit","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"http-client","version":"*","purl":"pkg:hackage/http-client","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"http-types","version":"*","purl":"pkg:hackage/http-types","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"bytestring","version":"*","purl":"pkg:hackage/bytestring","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"aeson","version":"*","purl":"pkg:hackage/aeson","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"unordered-containers","version":"*","purl":"pkg:hackage/unordered-containers","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"vector","version":"*","purl":"pkg:hackage/vector","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"scientific","version":"*","purl":"pkg:hackage/scientific","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"time","version":"*","purl":"pkg:hackage/time","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"mtl","version":"*","purl":"pkg:hackage/mtl","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"transformers","version":"*","purl":"pkg:hackage/transformers","properties":[{"name":"filePath","value":"testing/golden-output/openapi.cabal"}]},{"type":"library","name":"aeson","version":"*","purl":"pkg:hackage/aeson","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"base","version":"\u003e=4.7 \u0026\u0026 \u003c5","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"servant-server","version":"*","purl":"pkg:hackage/servant-server","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"unordered-containers","version":"*","purl":"pkg:hackage/unordered-containers","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"wai","version":"*","purl":"pkg:hackage/wai","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"warp","version":"*","purl":"pkg:hackage/warp","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"base","version":"*","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"mock-server","version":"*","purl":"pkg:hackage/mock-server","properties":[{"name":"filePath","value":"testing/level3/mock-server/mock-server.cabal"}]},{"type":"library","name":"base","version":"\u003e=4.7 \u0026\u0026 \u003c5","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"text","version":"*","purl":"pkg:hackage/text","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"ghc-prim","version":"*","purl":"pkg:hackage/ghc-prim","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"http-conduit","version":"*","purl":"pkg:hackage/http-conduit","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"http-client","version":"*","purl":"pkg:hackage/http-client","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"http-types","version":"*","purl":"pkg:hackage/http-types","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"bytestring","version":"*","purl":"pkg:hackage/bytestring","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"aeson","version":"*","purl":"pkg:hackage/aeson","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"unordered-containers","version":"*","purl":"pkg:hackage/unordered-containers","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"vector","version":"*","purl":"pkg:hackage/vector","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"scientific","version":"*","purl":"pkg:hackage/scientific","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"time","version":"*","purl":"pkg:hackage/time","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"mtl","version":"*","purl":"pkg:hackage/mtl","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"transformers","version":"*","purl":"pkg:hackage/transformers","properties":[{"name":"filePath","value":"example/generatedCode/openapi.cabal"}]},{"type":"library","name":"aeson","version":"*","purl":"pkg:hackage/aeson","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"autodocodec","version":"*","purl":"pkg:hackage/autodocodec","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"autodocodec-yaml","version":"*","purl":"pkg:hackage/autodocodec-yaml","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"base","version":"\u003e=4.7 \u0026\u0026 \u003c5","purl":"pkg:hackage/base","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"bytestring","version":"*","purl":"pkg:hackage/bytestring","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"containers","version":"*","purl":"pkg:hackage/containers","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"directory","version":"*","purl":"pkg:hackage/directory","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"filepath","version":"*","purl":"pkg:hackage/filepath","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"hashmap","version":"*","purl":"pkg:hackage/hashmap","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"http-client","version":"*","purl":"pkg:hackage/http-client","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"http-conduit","version":"*","purl":"pkg:hackage/http-conduit","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"http-types","version":"*","purl":"pkg:hackage/http-types","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"mtl","version":"*","purl":"pkg:hackage/mtl","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"optparse-applicative","version":"*","purl":"pkg:hackage/optparse-applicative","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"path","version":"*","purl":"pkg:hackage/path","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"path-io","version":"*","purl":"pkg:hackage/path-io","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"scientific","version":"*","purl":"pkg:hackage/scientific","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"split","version":"*","purl":"pkg:hackage/split","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"template-haskell","version":"*","purl":"pkg:hackage/template-haskell","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"text","version":"*","purl":"pkg:hackage/text","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"time","version":"*","purl":"pkg:hackage/time","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"transformers","version":"*","purl":"pkg:hackage/transformers","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"unordered-containers","version":"*","purl":"pkg:hackage/unordered-containers","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"vector","version":"*","purl":"pkg:hackage/vector","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"yaml","version":"*","purl":"pkg:hackage/yaml","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"openapi3-code-generator","version":"*","purl":"pkg:hackage/openapi3-code-generator","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"QuickCheck","version":"*","purl":"pkg:hackage/QuickCheck","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"genvalidity","version":"*","purl":"pkg:hackage/genvalidity","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"genvalidity-hspec","version":"*","purl":"pkg:hackage/genvalidity-hspec","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"genvalidity-text","version":"*","purl":"pkg:hackage/genvalidity-text","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"hspec","version":"*","purl":"pkg:hackage/hspec","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"validity","version":"*","purl":"pkg:hackage/validity","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]},{"type":"library","name":"validity-text","version":"*","purl":"pkg:hackage/validity-text","properties":[{"name":"filePath","value":"openapi3-code-generator/openapi3-code-generator.cabal"}]}]}