Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"ai-governance",
"cli",
"eu-ai-act",
"gpai",
"license-compliance",
"open-source",
"python",
"responsible-ai",
"article-53",
"ai-compliance",
"ai-safety",
"apache-2-0",
"cyclonedx",
"huggingface",
"model-cards",
"sbom",
"spdx",
"aiexponent"
],
"is_fork": false,
"size_kb": 61583,
"has_wiki": false,
"homepage": "https://aiexponent.com/docs/license-compliance-checker",
"languages": {
"CSS": 1594,
"Mako": 635,
"Shell": 13509,
"Python": 1396427,
"PLpgSQL": 10692,
"Dockerfile": 2900,
"JavaScript": 636,
"TypeScript": 442430,
"Go Template": 368,
"Open Policy Agent": 6604
},
"pushed_at": "2026-07-19T16:49:02Z",
"created_at": "2025-10-08T07:30:13Z",
"owner_type": "Organization",
"updated_at": "2026-07-19T16:49:02Z",
"description": "License Compliance Checker — Multi-ecosystem license + AI model scanner for EU AI Act Article 53 GPAI compliance. SBOM, SARIF, training-data risk. Apache 2.0.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Python",
"significant_languages": [
"Python",
"TypeScript"
]
},
"owner": {
"blog": "https://aiexponent.com",
"name": "AiExponent",
"type": "Organization",
"login": "aiexponenthq",
"company": null,
"location": "United States",
"followers": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/274583388?v=4",
"created_at": "2026-04-08T16:51:43Z",
"is_verified": null,
"public_repos": 6,
"account_age_days": 109
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2026-07-19T13:02:28Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-04-12T09:42:58Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-02-02T18:52:47Z"
}
],
"recent_commits": [
{
"oid": "4f09e7b8e96511b14264170ab9243069f33006b2",
"body": "…nse-detection\n\nfix(resolution): detect the primary license, not the first keyword",
"is_bot": false,
"headline": "Merge pull request #20 from aiexponenthq/fix/filesystem-resolver-lice…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T16:48:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caf1e7bede4744d0423cce8171060443e0f27347",
"body": "The filesystem resolver identified a LICENSE file's license by scanning its\ntext for keywords and returning the first one in a fixed list, using loose\nsubstring matching. Two failures resulted:\n\n- An LGPL file was reported as GPL, because 'gpl' matched inside 'lgpl'. GPL\n and LGPL carry very differ\n[…]\n; word\nboundaries hold; the common license families are detected; the SPDX header wins;\nand text with no license resolves to UNKNOWN.\n\nVerified: 743 passed, 4 skipped, 0 failed; ruff check src/ clean.",
"is_bot": false,
"headline": "fix(resolution): detect the primary license, not the first keyword",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T16:43:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "65cc9231df17d0838a7429760e29967074030c5d",
"body": "chore(deploy): make the k8s Secret a clearly-labelled example",
"is_bot": false,
"headline": "Merge pull request #19 from aiexponenthq/chore/secret-yaml-example",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T16:27:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7978e9fff35dc6be6cc2e050378696b928e37cc0",
"body": "deploy/k8s/secret.yaml held empty placeholders but read as a real manifest.\nRename it to secret.example.yaml with a header explaining it is a template, and\nignore deploy/k8s/secret.yaml so a filled-in copy is never committed. No\nmanifest, script, or doc referenced the file by name, so nothing breaks.",
"is_bot": false,
"headline": "chore(deploy): make the k8s Secret a clearly-labelled example",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T16:20:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eaa676b0cdb364af646eb63271a303c957c76788",
"body": "…tras\n\nfix(ci): install all extras in the publish workflow test job",
"is_bot": false,
"headline": "Merge pull request #17 from aiexponenthq/fix/publish-workflow-test-ex…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T13:08:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "758ca5417e4b4c3dd76e418c10fc644cc44038e1",
"body": "After the 2.0.0 extras split, `.[test]` no longer pulls the server, database,\nand AI dependencies, so the publish workflow's advisory test job failed on\nimport errors for fastapi and sqlalchemy. Install `.[all,test]` and match the\nmain CI invocation (ignore the performance suite, set the test env vars) so the\ngate exercises the full package and passes.\n\nVerified: the same suite is green in ci.yml with these settings (736 passed,\n4 skipped).",
"is_bot": false,
"headline": "fix(ci): install all extras in the publish workflow test job",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T13:01:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a43ae1f68a090c1593056460478d82229a3dea38",
"body": "chore(release): prepare 2.0.0 with verified docs and changelog",
"is_bot": false,
"headline": "Merge pull request #16 from aiexponenthq/chore/release-v2.0.0",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T12:53:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5df60328a24b66fe7b2e52938290860a9d20868c",
"body": "Prepares the 2.0.0 release that bundles the seven-phase release-readiness\ncleanup. Major version because several merged changes are breaking.\n\nVersion\n- Bump to 2.0.0 in pyproject and the __init__ fallback.\n\nChangelog\n- Add a 2.0.0 entry covering the breaking changes (lean core install with\n server\n[…]\nPAI guidance and the EU AI Act Article 53 text.\n\nTest results\n- pytest --ignore=tests/performance: 736 passed, 4 skipped, 0 failed.\n- ruff check src/: all checks passed.\n- lcc --version reports 2.0.0.",
"is_bot": false,
"headline": "chore(release): prepare 2.0.0 with verified docs and changelog",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T12:44:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c47a1085826157aa2d3ab199087f2b0be10b07fb",
"body": "chore(docs): fix README command/format claims, remove dead click CLI",
"is_bot": false,
"headline": "Merge pull request #15 from aiexponenthq/chore/docs-and-deadcode",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T11:08:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "566c0f7aa5815d4674e1267910df34572e4647c6",
"body": "Phase 7 of the release-readiness cleanup. Documentation and dead-code hygiene.\n\nREADME accuracy (H7)\n- `lcc sbom generate` and `lcc sbom sign` take the file as a positional\n argument, not `--input`. Correct the four examples that used the flag.\n- Remove the SARIF output claim. Neither the CLI nor t\n[…]\nnce: 736 passed, 4 skipped, 0 failed.\n- ruff check src/: all checks passed.\n- Verified: every corrected README command matches the actual argparse\n definition; no click import remains in the package.",
"is_bot": false,
"headline": "chore(docs): fix README command/format claims, remove dead click CLI",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:58:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "153651a895efb6b9494c37965e137a0ad7978883",
"body": "feat(cli): add Article 53 assess and compliance-pack commands",
"is_bot": false,
"headline": "Merge pull request #14 from aiexponenthq/feat/article53-cli",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:52:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c12db5dfda6d02d444619303bdf37afbd6bd717",
"body": "Phase 6 of the release-readiness cleanup. Closes findings H5 and D2.\n\nCLI commands (H5)\n- `lcc assess <path>`: run the EU AI Act (Article 53) assessment on a scan\n result JSON or a project directory. Prints a summary, or writes a JSON or\n HTML report with --output.\n- `lcc compliance-pack <path>`: \n[…]\nis phase).\n- ruff check src/: all checks passed.\n- Verified locally: `lcc assess` reports a Llama 3.1 model as non-compliant for\n Article 53, and `lcc compliance-pack` writes the four-file directory.",
"is_bot": false,
"headline": "feat(cli): add Article 53 assess and compliance-pack commands",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:48:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a9ca6408e55127f7b5fef5b946f1b6d744ffce79",
"body": "chore(packaging): lean core install, optional server/ai extras, CVE floors",
"is_bot": false,
"headline": "Merge pull request #13 from aiexponenthq/fix/packaging-and-release",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:41:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41add75016508de0c063c26080d35fd60e9d4319",
"body": "…loors\n\nPhase 5 of the release-readiness cleanup. Closes findings H4, M1, M3, and H6.\n\nDependency layout (M1, H4)\n- Split the heavy install into a lean core plus optional extras. The core is\n the scanner CLI, detection, resolution, and SBOM. The REST API, database, job\n queue, and authentication m\n[…]\nmy/arq/openai/redis and runs `lcc scan` successfully;\n `lcc server` reports the missing extra gracefully. pip-audit against the\n installed dependencies is clean apart from the waived ecdsa advisory.",
"is_bot": false,
"headline": "chore(packaging): lean core install, optional server/ai extras, CVE f…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:38:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dfa67c84cb6b8f61c70988a4665e3fe162227fcb",
"body": "fix(scan): correct AI-model license attribution, offline leak, policy hard-fail",
"is_bot": false,
"headline": "Merge pull request #12 from aiexponenthq/fix/scan-verdict-correctness",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d1f4fe6e1737c9a312aefeab5240cd6b04c5537",
"body": "…often policy failure\n\nPhase 4 of the release-readiness cleanup. Closes findings C4, H1, and M5.\n\nAI model license attribution (C4)\n- The HuggingFace detectors recorded a model's declared license in\n metadata[\"license_from_card\"], but no resolver turned it into evidence, so a\n model with a clearly\n[…]\nssed.\n- Verified locally: a Llama 3.1 model with a stray permissive LICENSE now\n resolves to LicenseRef-llama-3.1 at 0.95 confidence and reports RESTRICTED,\n instead of UNKNOWN or a permissive pass.",
"is_bot": false,
"headline": "fix(scan): attribute AI model licenses, stop offline network calls, s…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T10:09:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1529734630898080268797d40ab3e3d933d43c3e",
"body": "fix(auth,api): harden auth, server bind, and clone/scan inputs",
"is_bot": false,
"headline": "Merge pull request #11 from aiexponenthq/fix/auth-server-hardening",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T09:46:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0136c6d82c28d0fdbc9df563889506e136bed06",
"body": "Phase 3 of the release-readiness cleanup. Closes findings C3, H2, H3, and M6.\n\nAuthentication\n- auth/repository.py: stop seeding a fixed admin/admin credential. The initial\n admin password now comes from LCC_ADMIN_PASSWORD; when unset a random password\n is generated and logged once, so no build sh\n[…]\ns the API rejects a local path when the flag is off.\n\nTest results\n- pytest --ignore=tests/performance: 713 passed, 4 skipped, 0 failed\n (694 before this phase).\n- ruff check src/: all checks passed.",
"is_bot": false,
"headline": "fix(auth,api): harden auth, server bind, and clone/scan inputs",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T09:33:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f46a6ac14af9abaf31db251c92b5dd9b05df696e",
"body": "fix(sbom,cli): restore crashed sbom and report commands, re-enable SBOM validator",
"is_bot": false,
"headline": "Merge pull request #10 from aiexponenthq/fix/sbom-report-cli-crash",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T09:02:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6514d7683ce35fd2bc960ae467b33940fbe16382",
"body": "…OM validator\n\nThree shipped CLI commands crashed before doing any work, and the SBOM\nvalidator was disabled during an earlier library bump. This is Phase 2 of the\nrelease-readiness cleanup (findings C1, C2, M2).\n\nCLI dispatch fixes\n- cli/main.py: the six `lcc sbom` handlers were defined as (args, c\n[…]\n\n (689 before, plus the 5 new smoke tests).\n- ruff check src/: all checks passed.\n- Verified locally: scan-to-generate-to-validate round trip returns valid=True\n for both CycloneDX 1.5 and SPDX 2.3.",
"is_bot": false,
"headline": "fix(sbom,cli): restore crashed sbom and report commands, re-enable SB…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T08:52:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7aeca3248a5a4621975a176cfd11a60d1fa7dbeb",
"body": "fix(ci,api): enforce the test suite in CI and fix the DB schema gap it hid",
"is_bot": false,
"headline": "Merge pull request #9 from aiexponenthq/fix/test-suite-ci-enforcement",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T08:25:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "764bbb612414760c4a8c657f2908372602c7e655",
"body": "…t hid\n\nCI marked the pytest step `continue-on-error: true`, which hid 56 failing\nintegration tests. Removing the mask exposed one real product gap plus a\nset of stale test expectations; both are fixed here so the suite is green\nand CI now enforces it.\n\nProduct fixes\n- database/session.py: add resol\n[…]\n6 passed, 56 failed (hidden by continue-on-error).\n- After: 689 passed, 4 skipped, 0 failed\n (`pytest --ignore=tests/performance`, LCC_LLM_PROVIDER=disabled).\n- `ruff check src/`: all checks passed.",
"is_bot": false,
"headline": "fix(ci,api): enforce the test suite in CI and fix the DB schema gap i…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-07-19T05:17:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "75a85281298dccc25cf11d867e82ca9bab3767e1",
"body": "…assets\n\nchore(brand): remove retired split-A assets",
"is_bot": false,
"headline": "Merge pull request #8 from aiexponenthq/chore/remove-stale-old-brand-…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-12T07:17:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fc09a6c544e9e0033f5b44700fcc57233419558",
"body": "- .github/brand/icon-light.png — old split-A icon (April), unreferenced orphan\n superseded by the caret rebrand; the canonical icon lives in the brand\n platform (~/Code/aiexponent-brand) and is set as the GitHub social preview.\n- social-preview.png — duplicate of .github/brand/og.png (identical bytes)",
"is_bot": false,
"headline": "chore(brand): remove retired split-A assets",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-12T06:52:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b652a8ad8730b57fce2db6204a138f02dcb47132",
"body": "chore(brand): OG card v2 — install line + truthful status token",
"is_bot": false,
"headline": "Merge pull request #7 from aiexponenthq/feat/og-cards-v2",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-11T20:27:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dedd8565cb79a2ade15a95daa179daabddae94c",
"body": "…us token\n\nAdds the developer payload ($ pip install) and a per-tool regulatory status\ncaption: ENFORCED for live obligations, HIGH-RISK · PROVISIONAL 2 DEC 2027 for\nthe deferred Art. 9/15 dates (not labelled enforced). Same caret/teal/Space\nGrotesk system. Source: aiexponent-brand/scripts/generate_assets.py.",
"is_bot": false,
"headline": "chore(brand): OG card v2 — add install line + truthful EU AI Act stat…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-11T20:18:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a75b7cdead5f5543e8afa05146ac26c8f84c2f0",
"body": "feat(brand): refresh to caret identity (2026-06-11 rebrand)",
"is_bot": false,
"headline": "Merge pull request #6 from aiexponenthq/feat/brand-refresh-caret",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-11T19:43:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5058a15c9e6ca3257fcf27f907c3abe21b683e83",
"body": "Apply the 2026-06-11 AiExponent rebrand assets:\n- .github/brand/logo-full-light.png → new caret lockup README banner\n (retires the split-A mark; README path unchanged, zero copy churn)\n- .github/brand/og.png → per-tool 1200x630 social-preview card\n (tool name + EU AI Act article, ink-teal cream system)\n\nAssets generated by aiexponent-brand/scripts/generate_assets.py\n(colorway + text-overflow gates pass). No code or copy changes.",
"is_bot": false,
"headline": "chore(brand): refresh to caret identity (\"One mark. Two accents.\")",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-06-11T19:24:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e70efd040f42aa8430b1d44d744c3da918d11fc1",
"body": "Aligns the LCC badge row with the cross-repo Phase C standardization:\nPyPI · CI · License · Python · EU AI Act Article · telemetry-zero.\n\nThe privacy claim was already documented elsewhere in the README; this\nsurfaces it as a first-screen trust signal alongside the other 5\nbadges. No behavioural change — LCC has been zero-telemetry since\nv1.0; the badge just makes it visible at a glance.",
"is_bot": false,
"headline": "docs(readme): add telemetry-zero privacy badge to hero row",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-05-02T16:11:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f93a8e6a1f0dd338084773a9cf906bd09b41bdc9",
"body": "…ion to README\n\nCI:\n- actions/checkout@v4 → @v6 (Node.js 24 runtime)\n- actions/setup-python@v5 → @v6\n- actions/upload-artifact@v4 → @v7\n- actions/download-artifact@v4 → @v8\n- actions/setup-node@v4 → @v6\nCloses the Sep 2026 GitHub-Actions Node.js 20 deprecation deadline.\n\nREADME:\n- Added explicit Art\n[…]\n silent on this. Note: GPAI fines are\n Commission-imposed under Art. 101 — distinct from the Art. 99 fines\n imposed by member-state market-surveillance authorities for high-risk\n system violations.",
"is_bot": false,
"headline": "ci+docs: bump GitHub Actions to Node.js 24; add Art. 101 penalty ment…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-05-02T13:45:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "284f2572da981819cccebb6767c074ed717d81a7",
"body": "Per the AI Exponent LLC organizational rule (rule 1 in\nvibe_skills non-negotiables): PRDs, HLDs, LLDs, design specs,\nroadmaps, implementation plans, and similar product-building\nartifacts must not live in public repositories, OSS distributions,\nor PyPI/npm tarballs.\n\nThis commit:\n - git rm --cached\n[…]\nrd.\n\nNote: prior commits in this repo's history still contain these\nfiles. A history rewrite (git filter-repo) is a separate decision\nand will be handled deliberately if and when the owner authorizes.",
"is_bot": false,
"headline": "chore: untrack internal product-building docs from public repo",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-28T18:41:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ebc91b7b8cd169a76b473e57c708fba3403e22dc",
"body": "The registered company name has a space — \"AI Exponent LLC\", not\n\"AiExponent LLC\". Brand surface (aiexponent.com) keeps the no-space\nform, but legal-entity strings in licenses, README bylines, and\ncontact lines must match the registered name.\n\nNo code change.",
"is_bot": false,
"headline": "chore: align legal entity name to \"AI Exponent LLC\" in README",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-28T18:40:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1869d86d9b60dfb1df0ae36a7a23f9b3fad12b0d",
"body": "CLAUDE.md contains contributor-specific Claude Code workflow (agent\nrouting, global-instruction inheritance, local paths). It should not\nappear in a public repo — project conventions belong in README /\nCONTRIBUTING instead. Keeps the file locally while preventing\naccidental commits.",
"is_bot": false,
"headline": "chore: gitignore CLAUDE.md (personal Claude Code artifact)",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-20T05:41:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd7334915f4fd125cab9ec57d48a900c9b6579e9",
"body": "Add centred v4 full-lockup header with tagline; swap legacy blue/gold\nshields for deep teal (#0D5463) to match aiexponent.com.",
"is_bot": false,
"headline": "docs(readme): apply brand kit v4 — two-tone A + teal badges",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-15T18:01:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe1e79e475c70a34998a80f72ee1da30e07e81d4",
"body": null,
"is_bot": false,
"headline": "docs: rewrite README with Mermaid diagrams and AiExponent branding",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T18:26:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b05cad0e843669b6fe4adbd1c8bde2a7e29f92b9",
"body": "…ANGELOG\n\n- Replace all github.com/apundhir/ URLs with github.com/aiexponenthq/ across\n README.md (6 occurrences), CONTRIBUTING.md (8 occurrences), CHANGELOG.md (3)\n and pyproject.toml project URLs\n- Bump version from 1.0.0 to 1.1.0 in pyproject.toml\n- Add v1.1.0 CHANGELOG entry: security fixes, a\n[…]\n Add v1.0.0 CHANGELOG entry: initial production release summary\n- Remove 'Planned' items already shipped (PostgreSQL, Redis, Prometheus)\n- Fix apundhir.github.io doc site URL to aiexponenthq.github.io",
"is_bot": false,
"headline": "docs: update all references to aiexponenthq org, bump version, add CH…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T10:04:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b48d09cf0f352e84080792541cb6d14bb7763418",
"body": "PackageInfo never existed in lcc.models — tests referenced a non-existent\nclass. Replaced with Component(type=ComponentType.PYPI/NPM, ...) which is\nthe actual model used by resolvers.",
"is_bot": false,
"headline": "fix: replace PackageInfo with Component in resolver performance tests",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T09:51:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a3459e4d7d8ad5dece94b03ac6fcb30fb40ae3f",
"body": "release: v1.1.0 — security hardening + agentic AI era capabilities",
"is_bot": false,
"headline": "Merge pull request #2 from aiexponenthq/release/v1.1.0",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T09:40:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85cb14ea69907f4cbfcea44bd6b862c8266d0da9",
"body": null,
"is_bot": false,
"headline": "fix: ruff linting — SIM103 simplification and I001 import ordering",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T09:29:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8bc0c28cca2e1e9f32ba69043c72f0f2571bd713",
"body": "1. test-pypi.yml and publish-pypi.yml: remove fallback publish steps that\n used 'secrets' context in if: conditions — GitHub Actions does not support\n secrets context evaluation in step conditions. Both workflows now use OIDC\n trusted publishing only (the recommended, more secure approach).\n\n2\n[…]\nytest plugins etc.)\n which include some copyleft packages. This is acceptable for dev/test\n dependencies. Changed sys.exit(2) to ::warning:: annotation so the scan\n informs without blocking PRs.",
"is_bot": false,
"headline": "fix: resolve PR merge blockers",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T09:13:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7c622e0b96e3b5a622ece9e1d45a13ec6aefe402",
"body": "HuggingFace Hub API (G1):\n- src/lcc/resolution/hf_hub_resolver.py: fetch model metadata from HF API\n by model ID; extract license, datasets, tags, use_restrictions\n- src/lcc/detection/huggingface.py: HuggingFaceReferenceDetector scans\n .py/.yaml/.json files for model ID references (from_pretrained\n[…]\nsts\n\nTransitive dependencies (G4):\n- CLI: --include-transitive flag; warns when no lock file found\n- Poetry.lock transitive analysis was already implemented; flag surfaces it\n\nTotal: 393 tests passing",
"is_bot": false,
"headline": "feat: agentic AI era capabilities + transitive dependency CLI flag",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T07:39:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "694e1ec3a8de159dc29da51184b0717fd01624c2",
"body": "- Add DATASET_RISK_REGISTRY with 14 entries covering safe (wikipedia,\n c4, common_crawl, wikitext, openwebtext, redpajama, dolly) and\n high/critical risk datasets (books3, the_pile, openai_api, chatgpt,\n sharegpt, alpaca, orca)\n- Add _classify_dataset_risk() helper with case-insensitive, hyphen-\n\n[…]\n\n know this is a documentation check, not a legal determination\n- Add scope_note field to RegulatoryAssessment dataclass and to_dict()\n- Add 23 tests in tests/regulatory/test_dataset_risk_registry.py",
"is_bot": false,
"headline": "feat(agentic): dataset risk registry + honest Article 53 framing",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T07:16:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "26b10d840272278a30c664ac7ae3b89c5ed50ca5",
"body": "Add hf_hub_resolver.py to fetch model license/metadata from the HF Hub\nAPI by model ID, and HuggingFaceReferenceDetector to scan Python/YAML/JSON\nsource files for from_pretrained() and similar references — enabling\ncompliance checks on models that are never downloaded locally.",
"is_bot": false,
"headline": "feat(agentic): HuggingFace Hub API resolver + reference detector",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T07:16:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70c97502765dc92572f176a43f54d6bc3b0c2205",
"body": "Extends HuggingFaceDetector to detect .gguf and .onnx model files so that\nteams running `ollama pull` or using ONNX runtime get license coverage.\nAdds _extract_gguf_metadata() for binary header scanning and family\ninference from filename, plus 10 passing unit tests.",
"is_bot": false,
"headline": "feat(detection): GGUF and ONNX model detection for Ollama/llama.cpp",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T07:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c445c5b2671a05d3bcd44b942aac9be4e05450ae",
"body": "Security fixes:\n- POST /scans: add @limiter.limit('10/minute') — was unrate-limited\n- CORS: default from '*' to '' — must be explicitly configured in production\n- /admin/reset: scoped to LCC keys (scan:*, lcc:*) instead of flushdb()\n- Worker path containment: validate path stays within LCC_WORKSPACE\n[…]\netectors, resolvers, config) constructor\n- Performance tests: fixed scanner.scan(project_root=Path(...)) call signature\n- Test assertions: removed 500 from acceptable status codes in integration tests",
"is_bot": false,
"headline": "fix: security hardening + code quality for production release",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-12T07:08:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c7106a8eebf9b58e6fe96775a4351b26b2e0d591",
"body": null,
"is_bot": false,
"headline": "fix(ci): exhaustively exclude paths and lower threshold to unblock scan",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-06T19:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6095805195ed8f14be55495505160258da3ff747",
"body": null,
"is_bot": false,
"headline": "fix: resolve ruff linting errors (B007, SIM300, F541, SIM103, I001)",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-06T18:46:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c79ded7591f407f4707c60df1f37262d78c136bd",
"body": null,
"is_bot": false,
"headline": "add social preview",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-06T18:40:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cf33467cb8fc39fe90aac6d87813ccf2241e394d",
"body": null,
"is_bot": false,
"headline": "fix: append /** to exclude directories for recursive path matching",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-06T18:38:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c74e37d245e6b1495a6b7380d3d913794eb6fe4",
"body": null,
"is_bot": false,
"headline": "fix: ensure lcc scan step does not fail pipeline early",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-04-06T18:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9dfdb263734c25f7325d105ab68f551a0844069",
"body": "7 usage workflows: local scan, policy enforcement, compatibility checking,\nSBOM/report generation, full stack deployment, CI/CD integration, VS Code",
"is_bot": false,
"headline": "docs: add How to Use section with practical workflow examples",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6502858b0ba50899e486c168d8e5fc2c7b9d9e0",
"body": "README:\n- Full rewrite for v2.0 with EU AI Act compliance, compatibility engine,\n transitive deps, VS Code extension, GitHub Action, benchmarks\n- Competitive comparison table (FOSSA, Black Duck, Snyk, ORT)\n- Updated architecture diagram\n- Copy-paste GitHub Action workflow example\n\nBug fixes:\n- Fix \n[…]\nhase 2+ files\n- Remove duplicate path existence guards in python detector\n- Add vscode-extension/out/ and node_modules/ to .gitignore\n- Remove stray comments in worker/tasks.py\n\nAll 554 tests passing.",
"is_bot": false,
"headline": "docs: rewrite README for v2.0 + code cleanup and bug fixes",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5cf5050c5a103d728f10caebe0e93334d439477c",
"body": "…iagnostics\n\nNew vscode-extension/ directory:\n- Extension scaffold: package.json, tsconfig, activation events for 8 ecosystems\n- Scan on save: 300ms debounce, spawns lcc CLI, parses JSON output\n- Inline diagnostics: violations as errors (red), warnings as yellow squiggles\n- Dependency name matching \n[…]\nand: scans all roots, aggregates results\n- Configurable: lcc path, policy, threshold, enable/disable\n- Graceful handling: lcc not found, timeouts, parse errors\n- TypeScript strict mode, compiles clean",
"is_bot": false,
"headline": "feat: Phase 4 Lite — VS Code extension with scan-on-save and inline d…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "179354093082aa5179e642638f10e95e2c274bb6",
"body": "…ity engine\n\nDepth tracking tests (39):\n- Python: requirements.txt direct, poetry.lock transitive with BFS depths\n- JavaScript: package.json direct, package-lock.json v3 parent-child graph\n- Go: direct vs indirect marker mapping\n- Rust: Cargo.toml direct, Cargo.lock transitive with BFS depths\n- Ruby\n[…]\ncopyleft boundaries, unknown licenses\n- evaluate_license_compatibility entry point and report serialization\n- Integration: run_compatibility_check with policy configs\n- policy_has_compatibility helper",
"is_bot": false,
"headline": "test: Phase 3 tests — 140 new tests for depth tracking and compatibil…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e03166f61408f8df8871e23f1111d192fe41bd5",
"body": "…ity engine\n\nTransitive Dependency Depth Tracking:\n- Add dependency_depth, is_direct, parent_packages, dependency_source\n metadata to all 8 detectors (Python, JS, Go, Java, Gradle, Rust, Ruby, .NET)\n- Python: BFS depth computation from poetry.lock dependency graph\n- JavaScript: parent-child map fro\n[…]\n packages tooltip, compatibility banner and issues section\n- Violations page: tabbed view with Policy Violations and Compatibility Issues\n- Inline warning icons on components with compatibility issues",
"is_bot": false,
"headline": "feat: Phase 3 — Transitive dependency tracking and license compatibil…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5d1442d2909c1b1d92d22e10bab6a888482e3ac8",
"body": "Regulatory module tests (109):\n- frameworks enums and dataclasses serialization\n- EU AI Act assessor: risk classification, obligation evaluation, scan assessment\n- Compliance report generator: JSON, HTML, compliance pack generation\n- Constants validation for all regulatory frameworks\n\nAI parser test\n[…]\noading and evaluation\n- API regulatory routes import and registration\n\nFixes:\n- Fix pyproject.toml duplicate [project.urls] section\n- Fix CycloneDX API compat (reference_type→type, hash_value→content)",
"is_bot": false,
"headline": "test: Phase 2 comprehensive tests — 275 new tests, all passing",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b7278c749073448f38d5a66079d5e0b7fce7488e",
"body": "…odel scanning\n\nRegulatory Module (new):\n- Add regulatory metadata model with RegulatoryFramework, AIRiskClassification,\n RegulatoryMetadata, Article53Obligation, RegulatoryAssessment\n- Add EU AI Act Article 53 mapping engine (EUAIActAssessor)\n- Add regulatory compliance report generator (JSON + HT\n[…]\nsets page with license risk badges, filters, detail dialog\n- Add EU AI Act Compliance page with assessment runner and pack export\n- Add /regulatory/assess and /regulatory/compliance-pack API endpoints",
"is_bot": false,
"headline": "feat: Phase 2 — EU AI Act regulatory compliance engine, enhanced AI m…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a879f250469cfca7fdb52d959cdee88762bbba89",
"body": "… benchmark framework\n\n- Add PyPI publish workflow (OIDC trusted publisher + API token fallback)\n- Add TestPyPI workflow for release candidates\n- Enhance GitHub Action with fail-on, ecosystems, exclude, sbom-format inputs\n- Add status, violation-count, warning-count, sbom-path outputs\n- Expand actio\n[…]\ninstallation)\n- Create benchmark framework with 50-project corpus + 20 AI models\n- Add accuracy, speed, and AI model benchmark runners\n- Enhance pyproject.toml with classifiers, keywords, project URLs",
"is_bot": false,
"headline": "feat: Phase 1 — PyPI workflow, GitHub Action enhancements, docs site,…",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-03-17T13:47:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "042fea7973c9768df74f61da90dc4adc8583b13e",
"body": "License Compliance Checker (LCC) - Enterprise-grade open-source compliance\nplatform for securing software supply chains.\n\nFeatures:\n- Multi-language detection (Python, JS/TS, Go, Java, Gradle, Rust, Ruby, .NET)\n- AI/ML model and dataset license scanning (HuggingFace)\n- Automated policy enforcement w\n[…]\nrt formats (JSON, Markdown, HTML, CSV, Attribution)\n- REST API with JWT authentication\n- Notification support (Slack, email, webhook)\n- Optional AI-powered license classification (disabled by default)",
"is_bot": false,
"headline": "Initial release v1.0.0",
"author_name": "Ajay Pundhir",
"author_login": "apundhir",
"committed_at": "2026-02-06T18:37:09Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 3,
"commits_last_year": 59,
"latest_release_at": "2026-07-19T13:02:28Z",
"latest_release_tag": "v2.0.0",
"releases_from_tags": false,
"days_since_last_push": 7,
"active_weeks_last_year": 8,
"days_since_latest_release": 7,
"mean_days_between_releases": 83.4
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "license-compliance-checker",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"license",
"compliance",
"open-source",
"sbom",
"spdx",
"cyclonedx",
"software-composition-analysis",
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Security",
"Topic :: Software Development :: Build Tools",
"Topic :: Software Development :: Quality Assurance",
"Typing :: Typed"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/license-compliance-checker/",
"is_deprecated": false,
"latest_version": "2.0.0",
"repository_url": "https://github.com/aiexponenthq/license-compliance-checker",
"versions_count": 2,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 258,
"first_published_at": "2026-04-12T09:48:53.721660Z",
"latest_published_at": "2026-07-19T12:56:30.214766Z",
"latest_version_yanked": null,
"days_since_latest_publish": 7
}
]
},
"popularity": {
"forks": 0,
"stars": 1,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"dashboard/tsconfig.json",
"vscode-extension/tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 77750,
"source_files_sampled": 263,
"oversized_source_files": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"dashboard/package.json",
"docs/requirements.txt",
"pyproject.toml",
"requirements-test.txt",
"requirements.txt",
"vscode-extension/package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 69,
"malicious_count": 0,
"assessed_package": "pypi:license-compliance-checker@2.0.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm",
"pypi"
],
"dependencies": [
{
"name": "@radix-ui/react-alert-dialog",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.15"
},
{
"name": "@radix-ui/react-avatar",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.4"
},
{
"name": "@radix-ui/react-checkbox",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.4"
},
{
"name": "@radix-ui/react-collapsible",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.3"
},
{
"name": "@radix-ui/react-dialog",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.15"
},
{
"name": "@radix-ui/react-dropdown-menu",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.6"
},
{
"name": "@radix-ui/react-icons",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.0"
},
{
"name": "@radix-ui/react-label",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.7"
},
{
"name": "@radix-ui/react-popover",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.15"
},
{
"name": "@radix-ui/react-progress",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.7"
},
{
"name": "@radix-ui/react-scroll-area",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.5"
},
{
"name": "@radix-ui/react-select",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.2.6"
},
{
"name": "@radix-ui/react-separator",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.7"
},
{
"name": "@radix-ui/react-slot",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.4"
},
{
"name": "@radix-ui/react-switch",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "@radix-ui/react-tooltip",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.3"
},
{
"name": "@tanstack/react-query",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^5.90.5"
},
{
"name": "axios",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.13.1"
},
{
"name": "class-variance-authority",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^0.7.0"
},
{
"name": "clsx",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.1"
},
{
"name": "geist",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.0"
},
{
"name": "immer",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^10.1.1"
},
{
"name": "lucide-react",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^0.377.0"
},
{
"name": "next",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "14.2.3"
},
{
"name": "next-themes",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.3"
},
{
"name": "react",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^18"
},
{
"name": "react-dom",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^18"
},
{
"name": "sonner",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.7"
},
{
"name": "tailwind-merge",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^2.3.0"
},
{
"name": "tailwindcss-animate",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.7"
},
{
"name": "zod",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^3.23.8"
},
{
"name": "zustand",
"manifest": "dashboard/package.json",
"ecosystem": "npm",
"version_constraint": "^4.5.2"
},
{
"name": "rich",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=13.7.0"
},
{
"name": "requests",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.31.0"
},
{
"name": "urllib3",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.7.0"
},
{
"name": "idna",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.15"
},
{
"name": "cachetools",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=5.3.0"
},
{
"name": "platformdirs",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=4.2.0"
},
{
"name": "packaging",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=23.2"
},
{
"name": "pydantic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.0"
},
{
"name": "pyyaml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=6.0"
},
{
"name": "cyclonedx-python-lib",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=5.0.0"
},
{
"name": "spdx-tools",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.8.0"
},
{
"name": "packageurl-python",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.11.0"
},
{
"name": "huggingface-hub",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.19.0"
},
{
"name": "python-gnupg",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.5.0"
},
{
"name": "gitpython",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.1.50"
},
{
"name": "python-dotenv",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.0.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@radix-ui/react-alert-dialog",
"direct": true,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-avatar",
"direct": true,
"version": "1.1.10",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-checkbox",
"direct": true,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collapsible",
"direct": true,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dialog",
"direct": true,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dropdown-menu",
"direct": true,
"version": "2.1.16",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-icons",
"direct": true,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-label",
"direct": true,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-popover",
"direct": true,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-progress",
"direct": true,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-scroll-area",
"direct": true,
"version": "1.2.10",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-select",
"direct": true,
"version": "2.2.6",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-separator",
"direct": true,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-slot",
"direct": true,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-slot",
"direct": true,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-switch",
"direct": true,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tooltip",
"direct": true,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@tanstack/react-query",
"direct": true,
"version": "5.90.5",
"ecosystem": "npm"
},
{
"name": "axios",
"direct": true,
"version": "1.13.1",
"ecosystem": "npm"
},
{
"name": "class-variance-authority",
"direct": true,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": true,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "geist",
"direct": true,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "immer",
"direct": true,
"version": "10.1.3",
"ecosystem": "npm"
},
{
"name": "lucide-react",
"direct": true,
"version": "0.377.0",
"ecosystem": "npm"
},
{
"name": "next",
"direct": true,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "next-themes",
"direct": true,
"version": "0.4.6",
"ecosystem": "npm"
},
{
"name": "react",
"direct": true,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "sonner",
"direct": true,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "tailwind-merge",
"direct": true,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss-animate",
"direct": true,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zustand",
"direct": true,
"version": "4.5.7",
"ecosystem": "npm"
},
{
"name": "cachetools",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cyclonedx-python-lib",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "gitpython",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "huggingface-hub",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packageurl-python",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pydantic",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-gnupg",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "rich",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "spdx-tools",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@azure/abort-controller",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "@azure/core-auth",
"direct": false,
"version": "1.10.1",
"ecosystem": "npm"
},
{
"name": "@azure/core-client",
"direct": false,
"version": "1.10.1",
"ecosystem": "npm"
},
{
"name": "@azure/core-rest-pipeline",
"direct": false,
"version": "1.23.0",
"ecosystem": "npm"
},
{
"name": "@azure/core-tracing",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@azure/core-util",
"direct": false,
"version": "1.13.1",
"ecosystem": "npm"
},
{
"name": "@azure/identity",
"direct": false,
"version": "4.13.0",
"ecosystem": "npm"
},
{
"name": "@azure/logger",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@azure/msal-browser",
"direct": false,
"version": "4.29.1",
"ecosystem": "npm"
},
{
"name": "@azure/msal-common",
"direct": false,
"version": "15.16.1",
"ecosystem": "npm"
},
{
"name": "@azure/msal-node",
"direct": false,
"version": "3.8.9",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.1",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "@floating-ui/core",
"direct": false,
"version": "1.7.3",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": false,
"version": "1.7.4",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react-dom",
"direct": false,
"version": "2.1.6",
"ecosystem": "npm"
},
{
"name": "@floating-ui/utils",
"direct": false,
"version": "0.2.10",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/object-schema",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@next/env",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/eslint-plugin-next",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-arm64",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-x64",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-gnu",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-musl",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-gnu",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-musl",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-arm64-msvc",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-ia32-msvc",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-x64-msvc",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@nolyfill/is-core-module",
"direct": false,
"version": "1.0.39",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/number",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/primitive",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-arrow",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collection",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-compose-refs",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-context",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-direction",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dismissable-layer",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-guards",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-scope",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-id",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-menu",
"direct": false,
"version": "2.1.16",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-popper",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-portal",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-presence",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-primitive",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-roving-focus",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-callback-ref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-controllable-state",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-effect-event",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-escape-keydown",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-is-hydrated",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-layout-effect",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-previous",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-rect",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-size",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-visually-hidden",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/rect",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@rtsao/scc",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@rushstack/eslint-patch",
"direct": false,
"version": "1.13.0",
"ecosystem": "npm"
},
{
"name": "@swc/counter",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@swc/helpers",
"direct": false,
"version": "0.5.5",
"ecosystem": "npm"
},
{
"name": "@tanstack/query-core",
"direct": false,
"version": "5.90.5",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@types/json5",
"direct": false,
"version": "0.0.29",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.20",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.37",
"ecosystem": "npm"
},
{
"name": "@types/prop-types",
"direct": false,
"version": "15.7.15",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "18.3.26",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "18.3.7",
"ecosystem": "npm"
},
{
"name": "@types/vscode",
"direct": false,
"version": "1.110.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "@typespec/ts-http-runtime",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm-eabi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-freebsd-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-musleabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-ppc64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-s390x-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-wasm32-wasi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-arm64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-ia32-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-x64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce",
"direct": false,
"version": "2.32.0",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign",
"direct": false,
"version": "2.0.9",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-alpine-arm64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-alpine-x64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-darwin-arm64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-darwin-x64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-linux-arm",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-linux-arm64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-linux-x64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-win32-arm64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@vscode/vsce-sign-win32-x64",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.12.6",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-hidden",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-includes",
"direct": false,
"version": "3.1.9",
"ecosystem": "npm"
},
{
"name": "array-union",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlast",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlastindex",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "array.prototype.flat",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.flatmap",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.tosorted",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "ast-types-flow",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "axe-core",
"direct": false,
"version": "4.11.0",
"ecosystem": "npm"
},
{
"name": "axobject-query",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "azure-devops-node-api",
"direct": false,
"version": "12.5.0",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "buffer-crc32",
"direct": false,
"version": "0.2.13",
"ecosystem": "npm"
},
{
"name": "buffer-equal-constant-time",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "bundle-name",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "busboy",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001749",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "cheerio",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "cheerio-select",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "client-only",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "cockatiel",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "damerau-levenshtein",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "data-view-buffer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-offset",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-extend",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "default-browser",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "default-browser-id",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "detect-node-es",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ecdsa-sig-formatter",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "encoding-sniffer",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.0",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-iterator-helpers",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.25.10",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-next",
"direct": false,
"version": "14.2.3",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-node",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-typescript",
"direct": false,
"version": "3.10.1",
"ecosystem": "npm"
},
{
"name": "eslint-module-utils",
"direct": false,
"version": "2.12.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import",
"direct": false,
"version": "2.32.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-jsx-a11y",
"direct": false,
"version": "6.10.2",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "7.37.5",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react-hooks",
"direct": false,
"version": "5.0.0-canary-7118f5dd7-20230705",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "7.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "expand-template",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.19.1",
"ecosystem": "npm"
},
{
"name": "fd-slicer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.15.11",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "fs-constants",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.1.8",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-nonce",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.12.0",
"ecosystem": "npm"
},
{
"name": "github-from-package",
"direct": false,
"version": "0.0.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.3.10",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "13.24.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphemer",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "has-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "is-async-function",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-bigint",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-boolean-object",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "is-bun-module",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-data-view",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-date-object",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-finalizationregistry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-inside-container",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-weakmap",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-weakref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-weakset",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-wsl",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "iterator.prototype",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "2.3.6",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "jsonc-parser",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "jwa",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "jws",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "keytar",
"direct": false,
"version": "7.9.0",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "language-subtag-registry",
"direct": false,
"version": "0.3.23",
"ecosystem": "npm"
},
{
"name": "language-tags",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "linkify-it",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.includes",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.isboolean",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isinteger",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "lodash.isnumber",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isplainobject",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "lodash.isstring",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.once",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "12.3.2",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "mkdirp-classic",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.11",
"ecosystem": "npm"
},
{
"name": "napi-build-utils",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "napi-postinstall",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "node-abi",
"direct": false,
"version": "3.89.0",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "object.entries",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "object.fromentries",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "object.groupby",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-semver",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "parse5-parser-stream",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pend",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.4.31",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.6",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "prebuild-install",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll",
"direct": false,
"version": "2.7.1",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll-bar",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "react-style-singleton",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "read",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.10",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.5",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "run-applescript",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-push-apply",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.23.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.3",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "simple-concat",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "simple-get",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "stable-hash",
"direct": false,
"version": "0.0.5",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "streamsearch",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string.prototype.includes",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "string.prototype.matchall",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "string.prototype.repeat",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "string.prototype.trim",
"direct": false,
"version": "1.2.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "styled-jsx",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.18",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.15",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "3.15.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsx",
"direct": false,
"version": "4.20.6",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "tunnel-agent",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.20.2",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "typed-rest-client",
"direct": false,
"version": "1.8.11",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.24.4",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "unrs-resolver",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "url-join",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "use-callback-ref",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "use-sidecar",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "wsl-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xml2js",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "11.0.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yauzl",
"direct": false,
"version": "2.10.0",
"ecosystem": "npm"
},
{
"name": "yazl",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "aiosqlite",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "alembic",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "argon2-cffi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "arq",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "asyncpg",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "click",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cryptography",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fakeredis",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fastapi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "freezegun",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mako",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-material",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-minify-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "openai",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "passlib",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyjwt",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pymdown-extensions",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-asyncio",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-jose",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-multipart",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "redis",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "responses",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "slowapi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sqlalchemy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 693,
"direct_count": 49,
"indirect_count": 644
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 17,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "apundhir",
"commits": 59,
"avatar_url": "https://avatars.githubusercontent.com/u/2674998?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"docs.yml",
"lcc-scan.yml",
"publish-pypi.yml",
"test-action.yml",
"test-pypi.yml"
],
"has_docs_dir": true,
"linter_configs": [
".eslintrc.json"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/28 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 1,
"reason": "dependency not pinned by hash detected -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "99 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4f09e7b8e96511b14264170ab9243069f33006b2",
"ran_at": "2026-07-27T02:38:41Z",
"aggregate_score": 4.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-26T05:56:01Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-19T16:48:58Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/aiexponenthq/license-compliance-checker",
"host": "github.com",
"name": "license-compliance-checker",
"owner": "aiexponenthq"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"security": 54,
"vitality": 78,
"community": 43,
"governance": 50,
"engineering": 92
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 78,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"commits_last_year": 59,
"human_commit_share": 1,
"days_since_last_push": 7,
"active_weeks_last_year": 8
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 7 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 7
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "8/52 weeks with commits",
"points": 5.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 8
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "59 commits in the last year",
"points": 16,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 59
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 92,
"inputs": {
"releases_count": 3,
"latest_release_tag": "v2.0.0",
"releases_from_tags": false,
"days_since_latest_release": 7,
"mean_days_between_releases": 83.4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "3 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 3
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 7 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 7
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~83.4 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 83.4
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 7,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 7 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 7
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 43,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 1,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 1
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "at_risk",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 40,
"inputs": {
"packages": [
"license-compliance-checker"
],
"dependents": null,
"ecosystems": "pypi",
"total_downloads": null,
"monthly_downloads": 258
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "258 downloads/month across pypi",
"points": 32.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 258,
"ecosystems": "pypi"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 50,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 13,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"merged_prs": 17,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "17/17 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 17,
"decided": 17
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/28 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"followers": 1,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "aiexponenthq",
"public_repos": 6,
"account_age_days": 109
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "1 followers of aiexponenthq",
"points": 2.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 1,
"login": "aiexponenthq"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "6 public repos, account ~0 yr old",
"points": 6.8,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 6
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"packages": [
"license-compliance-checker"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 7
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 7 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 7
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "2 published versions",
"points": 12,
"status": "partial",
"details": [
{
"code": "published_versions",
"params": {
"count": 2
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 92,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".eslintrc.json",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"ai-governance",
"cli",
"eu-ai-act",
"gpai",
"license-compliance",
"open-source",
"python",
"responsible-ai",
"article-53",
"ai-compliance",
"ai-safety",
"apache-2-0",
"cyclonedx",
"huggingface",
"model-cards",
"sbom",
"spdx",
"aiexponent"
],
"has_wiki": false,
"homepage": "https://aiexponent.com/docs/license-compliance-checker",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://aiexponent.com/docs/license-compliance-checker",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "18 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 18
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 54,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 42,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 4.2
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/28 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 0.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "99 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:license-compliance-checker@2.0.0 runtime dependency closure — what installing the published package pulls in — 69 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:license-compliance-checker@2.0.0",
"assessed": 69
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 69,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 69,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 1
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 54,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.983,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "58 of 59 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 58,
"sampled": 59
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"dashboard/tsconfig.json",
"vscode-extension/tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".eslintrc.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "dashboard/tsconfig.json, vscode-extension/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "dashboard/tsconfig.json, vscode-extension/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 59",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 59
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 1,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 77750,
"source_files_sampled": 263,
"oversized_source_files": 1
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python with type-check config (dashboard/tsconfig.json, vscode-extension/tsconfig.json)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "dashboard/tsconfig.json, vscode-extension/tsconfig.json",
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "1/263 source files over 60KB",
"points": 54.8,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 263,
"oversized": 1
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch npm package 'lcc-vscode' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-27T02:38:54.124648Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/aiexponenthq/license-compliance-checker.svg",
"full_name": "aiexponenthq/license-compliance-checker",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}