Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"ai",
"chatgpt",
"llm",
"ollama",
"paperless",
"paperless-ngx",
"mistral",
"ocr"
],
"is_fork": false,
"size_kb": 124285,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 542233,
"CSS": 6074,
"HTML": 893,
"Shell": 2380,
"Dockerfile": 2876,
"JavaScript": 2587,
"TypeScript": 244968,
"Go Template": 7993
},
"pushed_at": "2026-08-02T18:45:53Z",
"created_at": "2024-09-23T12:55:43Z",
"owner_type": "User",
"updated_at": "2026-08-02T10:10:50Z",
"description": "Use LLMs and LLM Vision (OCR) to handle paperless-ngx - Document Digitalization powered by AI",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go",
"TypeScript"
]
},
"owner": {
"blog": null,
"name": "Icereed",
"type": "User",
"login": "icereed",
"company": "@bubbletax ",
"location": "Munich, Germany",
"followers": 67,
"avatar_url": "https://avatars.githubusercontent.com/u/444269?v=4",
"created_at": "2010-10-18T17:01:12Z",
"is_verified": null,
"public_repos": 73,
"account_age_days": 5767
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.27.0",
"kind": "minor",
"published_at": "2026-07-21T10:13:57Z"
},
{
"tag": "v0.26.1",
"kind": "patch",
"published_at": "2026-07-08T12:48:58Z"
},
{
"tag": "v0.26.0",
"kind": "minor",
"published_at": "2026-07-07T09:24:27Z"
},
{
"tag": "v0.25.1",
"kind": "patch",
"published_at": "2026-02-26T14:50:11Z"
},
{
"tag": "v0.25.0",
"kind": "minor",
"published_at": "2026-02-16T08:31:48Z"
},
{
"tag": "v0.24.0",
"kind": "minor",
"published_at": "2026-01-14T21:28:09Z"
},
{
"tag": "v0.23.0",
"kind": "minor",
"published_at": "2025-09-17T10:15:51Z"
},
{
"tag": "v0.22.0",
"kind": "minor",
"published_at": "2025-07-17T06:35:43Z"
},
{
"tag": "v0.21.0",
"kind": "minor",
"published_at": "2025-06-19T11:54:59Z"
},
{
"tag": "v0.20.0",
"kind": "minor",
"published_at": "2025-05-30T14:39:51Z"
},
{
"tag": "v0.19.0",
"kind": "minor",
"published_at": "2025-05-21T03:46:14Z"
},
{
"tag": "v0.18.0",
"kind": "minor",
"published_at": "2025-05-05T15:34:40Z"
},
{
"tag": "v0.17.0",
"kind": "minor",
"published_at": "2025-05-05T08:27:55Z"
},
{
"tag": "v0.16.0",
"kind": "minor",
"published_at": "2025-04-25T12:44:34Z"
},
{
"tag": "v0.15.0",
"kind": "minor",
"published_at": "2025-04-16T03:58:02Z"
},
{
"tag": "v0.14.4",
"kind": "patch",
"published_at": "2025-04-04T14:18:53Z"
},
{
"tag": "v0.14.3",
"kind": "patch",
"published_at": "2025-04-01T19:53:18Z"
},
{
"tag": "v0.14.2",
"kind": "patch",
"published_at": "2025-03-30T19:50:38Z"
},
{
"tag": "v0.14.1",
"kind": "patch",
"published_at": "2025-03-25T10:09:14Z"
},
{
"tag": "v0.14.0",
"kind": "minor",
"published_at": "2025-03-24T07:03:24Z"
},
{
"tag": "v0.13.0",
"kind": "minor",
"published_at": "2025-03-10T10:03:12Z"
},
{
"tag": "v0.12.2",
"kind": "patch",
"published_at": "2025-02-17T10:40:24Z"
},
{
"tag": "v0.12.1",
"kind": "patch",
"published_at": "2025-02-10T20:27:11Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2025-02-10T14:52:23Z"
},
{
"tag": "v0.11.2",
"kind": "patch",
"published_at": "2025-02-10T09:42:22Z"
},
{
"tag": "v0.11.1",
"kind": "patch",
"published_at": "2025-02-07T15:52:23Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2025-02-07T09:39:19Z"
},
{
"tag": "v0.10.3",
"kind": "patch",
"published_at": "2025-02-03T14:00:39Z"
},
{
"tag": "v0.10.2",
"kind": "patch",
"published_at": "2025-02-03T13:09:47Z"
},
{
"tag": "v0.10.1",
"kind": "patch",
"published_at": "2025-02-03T09:39:00Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2025-02-02T21:32:21Z"
},
{
"tag": "v0.9.2",
"kind": "patch",
"published_at": "2025-01-27T10:11:25Z"
},
{
"tag": "v0.9.1",
"kind": "patch",
"published_at": "2025-01-22T22:09:42Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2025-01-13T15:26:10Z"
},
{
"tag": "v0.8.4",
"kind": "patch",
"published_at": "2025-01-13T09:55:32Z"
},
{
"tag": "v0.8.3",
"kind": "patch",
"published_at": "2025-01-13T08:04:01Z"
},
{
"tag": "v0.8.2",
"kind": "patch",
"published_at": "2025-01-13T07:04:51Z"
},
{
"tag": "v0.8.1",
"kind": "patch",
"published_at": "2025-01-10T16:07:11Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2025-01-06T22:17:09Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2025-01-06T14:01:25Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2024-12-13T15:58:14Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2024-11-13T07:07:38Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2024-11-11T09:51:53Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2024-10-26T13:22:59Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2024-10-16T13:06:31Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2024-10-13T07:34:58Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2024-10-04T12:14:04Z"
}
],
"recent_commits": [
{
"oid": "72ddde765709544823a0f5452575a070fdaac3b4",
"body": "… surface (#1018)\n\n* fix(ocr): polish the Playground ramp-to-automation and Activity trust surface\n\nPre-release critique (dual-agent, live deployment) landed the redesign at\n32/40 with a clean build. The remaining friction clustered on the product's\nown north star — the UI as a ramp to hands-off Aut\n[…]\ne Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019Qy47KUp6J7Z7R4NnUqNBw\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(ocr): polish the Playground ramp-to-automation and Activity trust…",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-21T10:06:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6aa38fedef3bd3b63f1580bc2c17dd2dc2dce587",
"body": "…ES attempts (#1008)\n\n* fix(background): stop endless OCR retry, fail-tag after OCR_MAX_RETRIES attempts\n\nWhy the old code was problematic: processAutoOcrTagDocuments handled an OCR\nprocessing error with a bare continue - the auto OCR tag stayed on the\ndocument, so it was retried every poll cycle fo\n[…]\nde-Session: https://claude.ai/code/session_019Qy47KUp6J7Z7R4NnUqNBw\n\n---------\n\nCo-authored-by: Dominik Schröter <domi@icereed.net>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(background): stop endless OCR retry, fail-tag after OCR_MAX_RETRI…",
"author_name": "Matthias Breddin",
"author_login": "lunetics",
"committed_at": "2026-07-21T07:45:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ff059b7f70a8f374694b7883d686029bd0aa95e8",
"body": "…o hands-off Auto-OCR (#1005)\n\n* feat(api): async suggestion jobs with progress, cancel and per-document failures\n\nAdopt and extend the async suggestion-job flow from #984: the manual UI\nsubmits work through POST /api/jobs/suggestions, polls status, and can\nstop pending or running jobs. The legacy s\n[…]\ncom>\nClaude-Session: https://claude.ai/code/session_019Qy47KUp6J7Z7R4NnUqNBw\n\n---------\n\nCo-authored-by: Christian Hessel <c.hessel@shopware.com>\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "OCR Playground & Activity: run, tune, compare, apply — and graduate t…",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-21T06:40:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c5f8dccd2867891e08fec6c6a61f897ea29df559",
"body": "Replace .github/copilot-instructions.md with an AGENTS.md at the repo\nroot (agents.md open format, read natively by Copilot, Cursor, Codex\nand others). Content updated for the current CI setup: mock-LLM E2E\nscripts, secret-free PR pipeline, OPENAI_BASE_URL. CLAUDE.md is a\nsymlink to AGENTS.md.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_019Qy47KUp6J7Z7R4NnUqNBw",
"is_bot": false,
"headline": "docs: migrate copilot-instructions to AGENTS.md standard",
"author_name": "Dominik Schröter",
"author_login": "icereed",
"committed_at": "2026-07-10T05:14:52Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "227b061b57510ba46f3d7e4f036d53486175b388",
"body": "…roups\n\nFixes #995.\n\nThe rootless entrypoint introduced in v0.26.0 guarded user/group creation\nby *name* (getent group paperless-gpt), so on any system where the\nrequested GID already exists under another name, addgroup failed and\nset -e killed the container. Alpine ships group \"users\" with GID 100,\n[…]\nGID=100 (the reported case), defaults 10001:10001,\nUID collision with nobody (65534, HOME stays /home/paperless-gpt),\nand PUID=0 still rejected.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(entrypoint): support PUID/PGID that collide with existing users/g…",
"author_name": "Dominik Schröter",
"author_login": "icereed",
"committed_at": "2026-07-08T12:36:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d358eac12a42f73b0a37afd94847b7189b0847d0",
"body": "…e mock E2E (#993)\n\nBackend: OPENAI_BASE_URL is now respected for the plain openai provider\n(LLM and vision paths), not only for Azure. This enables OpenAI-compatible\nendpoints like OpenRouter, LiteLLM and vLLM — and mock servers in tests.\n\nE2E: new mock mode (E2E_LLM_MODE=mock) starts a WireMock co\n[…]\nasis for running E2E on every fork PR in CI without exposing\nany secrets. Verified locally: 1 passed (1.0m) with all LLM API key env\nvars unset.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: OPENAI_BASE_URL for any OpenAI-compatible endpoint + secret-fre…",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-08T12:30:33Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f9909b1fdd6502d20dbda60df5149883767dfae0",
"body": "…E2E (#994)\n\n* feat: OPENAI_BASE_URL for any OpenAI-compatible endpoint + secret-free mock E2E\n\nBackend: OPENAI_BASE_URL is now respected for the plain openai provider\n(LLM and vision paths), not only for Azure. This enables OpenAI-compatible\nendpoints like OpenRouter, LiteLLM and vLLM — and mock se\n[…]\nenvironment is a pure\napproval gate, so the push-to-main run stays automatic.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: secret-free PR pipeline + environment-approval gate for real-LLM …",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-08T12:29:53Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cc9da742ea7032ad539352a56cc371a765dea064",
"body": "Fork PRs have no access to repo secrets, so the Docker Hub login step in\nbuild-amd64 failed every fork PR after ~17s with \"Username and password\nrequired\" (e.g. PRs #922, #660, #470, #458). PR builds never push\n(push: false), so no registry login is needed at all.\n\nAdds the same event guard build-arm64 already has.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(ci): skip registry logins on pull_request builds (#992)",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-07T19:02:27Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "befe34cf255c4c5037b6f8febeecca92377220eb",
"body": "…pt Content variable\n\nFills the documentation gaps left by the v0.26.0 feature set (#990):\n- OLLAMA_THINK env var row in the configuration table\n- REMOVE_FROM_CONTENT / REMOVE_FROM_CONTENT_REGEX env var rows\n- {{.Content}} template variable for ocr_prompt.tmpl (per-document\n existing OCR text, capped at 8000 chars)\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: document OLLAMA_THINK, REMOVE_FROM_CONTENT(_REGEX) and OCR prom…",
"author_name": "Dominik Schröter",
"author_login": "icereed",
"committed_at": "2026-07-07T09:23:41Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "92f2e96ff3a21a0c9d17c28dd211d2851bb1f63a",
"body": "The whole_pdf Mistral OCR test asserts the exact substring \"Musée royal\nd'Histoire naturelle de Belgique\". In the source PDF that phrase is split\nacross a line break (\"...d'Histoire\" / \"naturelle...\"), so the assertion\nonly held while mistral-ocr-latest happened to join those lines with a\nplain spac\n[…]\nuinely missing museum name still fails. On mismatch the full OCR\ncontent is dumped to the log so future drift is diagnosable from CI logs\nalone.\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(e2e): make Mistral OCR phrase assertion robust to model drift (#991)",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-07-07T09:03:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e9b7e116625bd77536b9d6e90eb84a18aecd9a3d",
"body": "…backlog) (#990)\n\n* feat: rootless - switch to user 1000:1000\n\n* move to PUID > 10000 and ensure PUID is not root\n\n* fix(docker): bump pinned musl-dev to 1.2.5-r11\n\nAlpine 3.21's repo GC'd 1.2.5-r9, breaking every fresh image build.\n\n* Throttle empty document polling\n\n* Use five second document poll\n[…]\nmilan.schilling <milan.schilling@sony.com>\nCo-authored-by: Cristian Filipov <5324653+cfilipov@users.noreply.github.com>\nCo-authored-by: Kaindl Network <82705244+kaindlnetwork@users.noreply.github.com>",
"is_bot": false,
"headline": "Bundle of 16 small, pre-verified community PRs (batch review to ease …",
"author_name": "Henning Dickten",
"author_login": "hensing",
"committed_at": "2026-07-07T08:22:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "94c84287fc7a4f945b5a06a0b01176957f269997",
"body": "…new tags (#936)\n\n* Initial plan\n\n* feat: add CREATE_NEW_TAGS env var to allow LLM to suggest new tags\n\nWhen CREATE_NEW_TAGS=true:\n- LLM prompt is updated to allow suggesting new tags beyond the available list\n- New tags suggested by the LLM are no longer filtered out\n- New tags are automatically cr\n[…]\n4269+icereed@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: add CREATE_NEW_TAGS env var to allow LLM to suggest and create …",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-03-29T07:00:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d445bfa50622bc6f85004e1380f70e8068f43125",
"body": "…pdf mode (#909)\n\nIn the whole_pdf processing branch, the short variable declaration `:=`\non the DownloadDocumentAsPDF call created a new local `totalPdfPages`\nvariable that shadowed the outer one declared at function scope. After\nthe if-block exited, the outer `totalPdfPages` remained 0, causing th\n[…]\ntalPdfPages` to always fail and\nskip PDF generation.\n\nThe fix declares `pdfBytes` and `err` separately, then uses plain\nassignment `=` so that `totalPdfPages` refers to the outer variable.\n\nFixes #874",
"is_bot": false,
"headline": "Fix variable shadowing causing totalPdfPages to always be 0 in whole_…",
"author_name": "Chase Bolt",
"author_login": "chasebolt",
"committed_at": "2026-03-02T15:48:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2527df45396c5d0faf50db7cacc6b7e5a4e4d5ed",
"body": "* Skip tag update on deleted document when PDF_REPLACE=true\n\nWhen PDF_REPLACE is enabled, ProcessDocumentOCR uploads the OCR'd\nPDF as a new document and deletes the original. The subsequent\nUpdateDocuments call in processAutoOcrTagDocuments then fails with\na 404 since the original document no longer\n[…]\n this field, ensuring autoOcrTag is still removed when replacement\nwas configured but didn't actually happen (e.g., no hOCR capability,\npage count mismatch, PDF generation failure, or upload failure).",
"is_bot": false,
"headline": "Skip tag update for replaced document when PDF_REPLACE=true (#911)",
"author_name": "Chase Bolt",
"author_login": "chasebolt",
"committed_at": "2026-03-02T15:47:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ac45c2e2f3910cb9b26d67e2fda5941bad742147",
"body": "* Initial plan\n\n* feat: add version display in WebUI footer\n\n- Added GET /api/version endpoint to expose version, commit, and build date\n- Frontend fetches version info on mount and displays in footer\n- Version appears as \"paperless-gpt {version} ({short-commit})\" in an unobtrusive gray text\n- Commi\n[…]\n4269+icereed@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>",
"is_bot": false,
"headline": "Add version display to WebUI footer (#905)",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-03-02T05:15:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6bbc6f1be6698320498ac8e0db8fb9040400e3ba",
"body": "* Initial plan\n\n* Fix URL encoding for emoji tags in GetDocumentsByTag\n\n- Add url.QueryEscape() to properly encode tag parameter in API query\n- Add test case TestGetDocumentsByTagWithEmoji to verify emoji/Unicode tag handling\n- Resolves 400 error when querying documents with emoji tags like \"🤖 AI-Qu\n[…]\n4269+icereed@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>",
"is_bot": false,
"headline": "Fix URL encoding for tag queries with special characters (#901)",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-02-22T13:44:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4167332eefee6783e94bff443d23923355329ee3",
"body": "Adjust docs (https://github.com/icereed/paperless-gpt/pull/758)",
"is_bot": false,
"headline": "Update README.md (#895)",
"author_name": "nettnikl",
"author_login": "nettnikl",
"committed_at": "2026-02-18T14:46:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29a8086d45d994b6612946c5c842781ac9e157ad",
"body": "* add Gemini as Vision provider\n\n* fix: skip thinking parts in GoogleAI response parsing\n\nWhen thinking budget is enabled, Gemini returns internal reasoning\nas Part objects with Thought=true. Filter these out in both\nGenerateText and GenerateContent to avoid leaking thinking\ncontent into OCR output.\n\n* fix: error on empty response after filtering thinking parts\n\nGenerateContent now returns an error instead of silently returning\nan empty string when all response parts are thinking-only.",
"is_bot": false,
"headline": "add Gemini as Vision (OCR) provider (#881)",
"author_name": "Thomas \"UberT",
"author_login": "its-a-unixsystem",
"committed_at": "2026-02-16T08:16:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "373e170f590e5013b73a15252fbf099c244e6d97",
"body": "Replace hardcoded constants (max pixel dimension, max total pixels, max\nrender DPI, max file bytes) with configurable environment variables.\n\nCo-authored-by: Cristian Filipov <5324653+cfilipov@users.noreply.github.com>",
"is_bot": false,
"headline": "feat: make image processing limits configurable (#883)",
"author_name": "Cristian Filipov",
"author_login": "cfilipov",
"committed_at": "2026-02-16T08:16:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1039abab246312c52523eb184baa356b470a36e4",
"body": "Added Trendshift badge to README for repository tracking.",
"is_bot": false,
"headline": "Add Trendshift badge to README",
"author_name": "Icereed",
"author_login": "icereed",
"committed_at": "2026-02-16T07:59:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d5d833cbdb6b0e5ee14447b3077230e6e972e75",
"body": "* Fix paperless documents API call\n\nThe api call does not support multiple tags.\nThis commit reduces the call to a single tag.\n\n* Use paperless tags API call to check for documents to process\n\nAlso do not get tags/correspondents if there is no document to process.\nThis reduces the processing time, cpu usage significantly.\n\nExample:\n1000 documents, 200 tags, 100 correspondents and no document to process\n10-50 ms instead of 500-1000 ms\n\n* Fix DocumentSuggestion fmt",
"is_bot": false,
"headline": "Improve paperless polling for new documents (#889)",
"author_name": "apoapoapo",
"author_login": "apoapoapo",
"committed_at": "2026-02-16T07:09:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f5a647da39391c3ca4073bbb1905034b563f21d4",
"body": "* Initial plan\n\n* Implement fork PR E2E testing workflow with label-based approval\n\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>\n\n* Fix fork PR detection to skip E2E tests without label\n\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>\n\n---------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>",
"is_bot": false,
"headline": "Add secure fork PR E2E testing with label-based approval (#857)",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-01-18T16:00:32Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ad1fdfa22b1d5958eefa6490ee092f5d18544876",
"body": "* Initial plan\n\n* Fix e2e test parallelism and add missing API key\n\n- Remove --workers 4 from package.json to use config default (workers: 1)\n- Add ANTHROPIC_API_KEY to CI workflow environment variables\n- Increase test timeout from 2min to 5min for OCR processing tests\n\nCo-authored-by: icereed <4442\n[…]\n-------\n\nCo-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>\nCo-authored-by: icereed <444269+icereed@users.noreply.github.com>\nCo-authored-by: Icereed <git@icereed.net>",
"is_bot": false,
"headline": "Fix e2e test parallelism and resource conflicts in CI (#853)",
"author_name": "Copilot",
"author_login": "Copilot",
"committed_at": "2026-01-14T21:10:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "60c9fd05dfe316f8a2536d65ce351e33607eca6b",
"body": "* feat: Add Document Type detection via LLM\n\n- Add document_type_prompt.tmpl for LLM-based document type suggestion\n- Add GenerateDocumentTypes to request/response types\n- Add getSuggestedDocumentType() function in app_llm.go\n- Wire document type generation into suggestion flow\n- Update paperless.go\n[…]\npl to test setup\n\nThe test setup was missing the new document_type_prompt.tmpl\nin the list of dummy prompt files, causing loadTemplates() to fail.\n\n---------\n\nCo-authored-by: Icereed <git@icereed.net>",
"is_bot": false,
"headline": "Feat: Document Type Assignment for Documents (#848)",
"author_name": "Niklas Fink",
"author_login": "niklasfink",
"committed_at": "2026-01-14T20:53:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1e9d955fbd0337a229763df33b690a82b80f1bff",
"body": "* refactor: cleanup to make var naming a little clearer\n\n* fix: deleted code that was removing the wrong tags in an auto ocr + non-ocr context\n\n* fix: handle auto ocr the same as other tags when it is the last one\n\n* test: refactored RemovingLastTag test to more closely mimic the behavior of the core system\n\n* test: added clarifying comment based on coderabbitai",
"is_bot": false,
"headline": "Handle situation when auto OCR tag is the last remaining tag (#852)",
"author_name": "haigcd",
"author_login": "haigcd",
"committed_at": "2026-01-14T20:52:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f986842fe82a289aab0ed93c9877f4ef63208fd0",
"body": "* feat: add Anthropic/Claude API as LLM provider\n\nAdd support for using Claude models via the Anthropic API for both normal text prompts and OCR vision tasks\n\n* test(anthropic): add E2E tests for anthropic client",
"is_bot": false,
"headline": "Add Anthropic/Claude API as LLM provider (#795)",
"author_name": "Kyle McNally",
"author_login": "kamcnally",
"committed_at": "2026-01-04T12:21:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2a6994a6f1640640e0112ec4cfde2c179cccaba",
"body": "… works. (see #789) (#844)",
"is_bot": false,
"headline": "fix: use relative URLs, so forwarding a sub-path from a reverse proxy…",
"author_name": "Tobi",
"author_login": "tldev-de",
"committed_at": "2026-01-04T12:20:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6172b47c0c945c8fdd5e0a80cc21f7cd3e21766b",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.3.0 (#834)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-15T09:11:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53db8b7953022597f32134c1f487393056d250ee",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency autoprefixer to v10.4.23 (#832)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-14T20:45:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "071d30ba6fccf4c18e8fe7b0fa9f1183129bc625",
"body": "… (#833)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency eslint-plugin-react-refresh to v0.4.25…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-14T20:44:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2eb374138254a124c4a376ec5e8b1d20bc81ba75",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v22.19.3 (#831)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-14T12:17:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ba6469efdc86ad8e22f7bd36f2a8566c05f6157",
"body": "…2 (#829)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.1…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-13T00:44:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7329f1c683dbda0ecbf2336e28ce054f007a3d8b",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update eslint monorepo to v9.39.2 (#828)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-13T00:41:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79618b1c36e415a21c9589842465961323bcb092",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update github artifact actions (#827)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-12T22:53:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b24ea0395a2d50a7c0708f5aa2ee144569ea9728",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.39.0 (#823)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-12T05:53:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "afa9286db29e30cd76e11f21fbf78f8a0b42a7a2",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update actions/cache action to v5 (#825)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-12T04:09:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14d7c6a2f5f1f8b8999af619ba0498823ab14838",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update react monorepo to v19.2.3 (#824)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-12T04:08:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bd01575460f99eb50b6030ba46da96968b724ac",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency tailwindcss to v3.4.19 (#822)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-10T20:16:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2850314fb310e434de39af1d21ca66a12bec2fa",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.38.0 (#819)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-08T23:59:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "818dc5340211297915bfe57ef3a7c70f8cab362c",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v22.19.2 (#818)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-08T23:57:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe28e4653c9f27ebf3844e2b876e5d7e7c3b69d4",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module golang.org/x/sync to v0.19.0 (#816)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-08T19:22:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edf4a2614f65377bfd584bdd333b736cdcfdac02",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.49.0 (#815)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-08T19:20:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a7c7424cb2ea3333da1d254d186e1d5aceef697",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.2.7 (#813)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-08T04:43:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2fd12b8f5d617736a2077451c1a309e9ff6251c3",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency winston to v3.19.0 (#812)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-07T09:21:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24bf7ed525bfee05144964724e4628b61e3fe7c7",
"body": "…loses #659 (#738)\n\n* fix: handle removal of auto/manual tags without sending empty array\n\n* fix: allow sending empty tags array to remove manual tag when no other changes",
"is_bot": false,
"headline": "fix: handle removal of auto/manual tags without sending empty array C…",
"author_name": "Kevin",
"author_login": "itkevin",
"committed_at": "2025-12-05T21:54:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "206622d615bde8bbe1798a13aeb70a5533a23273",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency react-router-dom to v7.10.1 (#809)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-04T16:10:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d9cb5f629cfac5bf7980e201cfbba77de6733a0",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.37.0 (#807)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-03T22:16:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "221ee8fe8033e0aa461d735989fd3afdfd8d10b6",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update docker.io/alpine docker tag to v3.23.0 (#806)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-03T22:13:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17481ddf5681d91f2113886feaa2b87da39e58db",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update react monorepo to v19.2.1 (#803)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-03T17:36:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b54d0025bdfd4c2fbc2a55b231d3d185cdd35b86",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/api to v0.257.0 (#802)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-03T04:16:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f2253332b9d3c02425bb1952a14990c9e7fb8f4d",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency react-router-dom to v7.10.0 (#801)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-02T20:38:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ef92229b0fb89a164dc3c28c206e48a87bf43a7",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency go to v1.25.5 (#799)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-02T19:04:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ab81edd9d578d2a061a0968c0ea7aebd551fc4c",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update docker.io/golang docker tag to v1.25.5 (#800)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-02T18:59:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "42c0eae2db6e2932ec8c1b3123b56c3529294b59",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.48.1 (#798)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-02T09:40:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecae551998e73b2bf7220d84b4360220f25aa81e",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.2.6 (#796)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-12-01T11:01:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21c2a7cfffb5ae9cd38aa6decbd00528f3a93233",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @playwright/test to v1.57.0 (#794)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-25T11:59:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "614618e16cd22ba5b37cfb042130de5d630e3b3c",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.48.0 (#793)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-24T17:34:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72e3cc3160ed269a91d9774c824627029fa25628",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react to v19.2.7 (#790)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-24T10:55:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ea564db4ed84af62822855fb8ca164bb958924c",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update actions/checkout action to v6 (#788)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-20T17:41:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb75e3ddd61c119cf70a4b07463bac12e475b2b2",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.36.0 (#786)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-20T09:09:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2376111b5f26cdce30957485910bba1d10cb6280",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.2.4 (#787)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-20T08:24:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02f5c3b9f7dcdbd80832f0cb23ef427922d93a52",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react to v19.2.6 (#783)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-18T03:18:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71c9cfafbd4707e28370c2b9a18f42ae256a29dc",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.47.0 (#784)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-18T03:17:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9a07892a7b75b8ab76cd634c6aa5113ac77d51f",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react to v19.2.5 (#781)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-14T23:01:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "478c4aee23853cbaca3bd368d2b6738f44bc8f01",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency react-router-dom to v7.9.6 (#780)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-14T01:04:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54ac8ad133e4e55d2a86bc57a085b4bc41a32962",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.35.0 (#779)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-13T08:14:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a88359384a40c50053cca7e6a97f538ffc01dee",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react to v19.2.4 (#778)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-12T19:12:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "29f4b198ffc57eb939ea8eee5fa4fae49886dac3",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @vitejs/plugin-react-swc to v4.2.2 (#777)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-12T10:56:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cf3a547568c38c30b7a8ad31628a09c91ccb89f",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react-dom to v19.2.3 (#776)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-12T06:30:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2942b79b8fdaf9dbb267092259d4ea72d33fb0cc",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v22.19.1 (#774)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-12T05:01:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93f9b726c10c1982561c3558c1e1691948b353af",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/api to v0.256.0 (#773)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-11T18:12:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abb34358341e3b4f680c1d82d3e1a29e3b7487d3",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/react to v19.2.3 (#772)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-11T18:06:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8ca849b311d0f40eafb9f2b3772448a6c18a5e8",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module golang.org/x/sync to v0.18.0 (#769)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-11T03:44:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8efb3faeb91304b3770fe2afde0baf0c30b65687",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency autoprefixer to v10.4.22 (#771)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-11T03:42:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e020bd86763203c6cbca19331e40890de71f9dce",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.46.4 (#770)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-10T19:07:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1919a5c88463d8b68e74d43526bfc5d8465f5c45",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.2.2 (#766)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-07T06:56:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da45dd1814049ffd36cff8534e4684ce38efd9ac",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.34.0 (#765)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T22:47:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "07bee6391458ec96ec7d19a4d7bf23dadae8fd50",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency vite to v7.2.1 (#763)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T20:03:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2271447550d30254d914be1c3add12f09c7c4c6b",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/api to v0.255.0 (#764)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T19:57:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "138bff55bd2ab67a3bbae182a35a987f83afe1e8",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency go to v1.25.4 (#761)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T13:31:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d887d2a536ed190fbeed1edcbdabb680507f459d",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update docker.io/golang docker tag to v1.25.4 (#762)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T13:26:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce8df5b1591ae3569e67e600650636c25c1e71c1",
"body": null,
"is_bot": false,
"headline": "fix(ocr): update Docling provider to support PDF processing modes (#758)",
"author_name": "Tom Schmidt",
"author_login": null,
"committed_at": "2025-11-06T06:44:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ced2a2775726875ef8f7118cb0107127dad0b614",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @vitejs/plugin-react-swc to v4.2.1 (#759)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T06:37:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d02a22d39971395c1218dc3ff96f8986de71885f",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency axios to v1.13.2 (#760)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-06T06:36:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3126178f973cae340c95d3eb4b977de692b18f36",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update eslint monorepo to v9.39.1 (#756)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-03T22:57:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9b6380bd097dbbcee2166b48ac486bbce25d11c2",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency typescript-eslint to v8.46.3 (#755)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-03T22:57:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db1d9e0aa03e6e191ff8460ef5db3ad1902d4cb1",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v22.19.0 (#754)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-03T02:56:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b100a3414176071d8879cd69dff6f157580cbe6",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module gorm.io/gorm to v1.31.1 (#752)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-02T18:55:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8bbd121e576b0c65fdcf67b56189514345421ae9",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update node.js to v24 (#751)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-02T09:43:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3100de537d96ba05e55adfe08c1a8b1440912406",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/genai to v1.33.0 (#748)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-02T06:18:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "076f1b362c52e95dd469114a4b741bdc1b0d0d41",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update github artifact actions (#750)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-02T06:13:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16cfa4afb51067a3d60fdd055686e6361d096c2d",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module google.golang.org/api to v0.254.0 (#747)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-02T00:44:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d3621f2cd2b7016c5591ee1e0188fce35ae0e25",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update eslint monorepo to v9.39.0 (#746)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T22:23:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1b4e0d5225cd062225e089016572ede7e548311",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency globals to v16.5.0 (#745)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T22:22:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d7f09ee61fe2485524ca2ca2fc13e84748fc66d",
"body": "…1 (#743)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.1…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T17:56:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d90527b267c0ae818faa08e70a079fc639e4b362",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency axios to v1.13.1 (#744)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T17:53:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a5e6b2f6f9b79f216cd9489097fe2457b7652b0",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @types/node to v22.18.13 (#741)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T16:09:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f90aa90663d2b2c4e91b8833def0248d62433c44",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency react-router-dom to v7.9.5 (#742)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-11-01T16:08:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61714d563e2a6fff7d2c3f19b812487ba93257f5",
"body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency @vitejs/plugin-react-swc to v4.2.0 (#735)",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-10-26T08:20:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0bda6b9b44a35fcb1c076210d121fcf05d950f3",
"body": "…734)\n\nCo-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): update dependency eslint-plugin-react-hooks to v7.0.1 (#…",
"author_name": "renovate[bot]",
"author_login": "renovate[bot]",
"committed_at": "2025-10-26T08:19:01Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 47,
"commits_last_year": 254,
"latest_release_at": "2026-07-21T10:13:57Z",
"latest_release_tag": "v0.27.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 28,
"days_since_latest_release": 12,
"mean_days_between_releases": 46.3
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [
"shields.io"
],
"total": 6,
"header": 6,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": true,
"health_percentage": 71,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 193,
"stars": 2596,
"watchers": 19,
"fork_history": {
"days": [
{
"date": "2024-10-20",
"count": 1
},
{
"date": "2024-10-24",
"count": 1
},
{
"date": "2024-11-04",
"count": 1
},
{
"date": "2024-11-11",
"count": 1
},
{
"date": "2024-11-25",
"count": 1
},
{
"date": "2024-12-17",
"count": 1
},
{
"date": "2024-12-19",
"count": 1
},
{
"date": "2025-01-03",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-09",
"count": 3
},
{
"date": "2025-01-11",
"count": 1
},
{
"date": "2025-01-18",
"count": 1
},
{
"date": "2025-01-27",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-05",
"count": 1
},
{
"date": "2025-02-08",
"count": 2
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-02-11",
"count": 1
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-17",
"count": 1
},
{
"date": "2025-02-20",
"count": 1
},
{
"date": "2025-02-27",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-20",
"count": 1
},
{
"date": "2025-03-25",
"count": 1
},
{
"date": "2025-03-29",
"count": 1
},
{
"date": "2025-03-30",
"count": 1
},
{
"date": "2025-04-05",
"count": 1
},
{
"date": "2025-04-07",
"count": 1
},
{
"date": "2025-04-15",
"count": 1
},
{
"date": "2025-04-19",
"count": 1
},
{
"date": "2025-04-20",
"count": 1
},
{
"date": "2025-04-26",
"count": 1
},
{
"date": "2025-05-02",
"count": 1
},
{
"date": "2025-05-15",
"count": 1
},
{
"date": "2025-05-28",
"count": 2
},
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-06-06",
"count": 1
},
{
"date": "2025-06-11",
"count": 1
},
{
"date": "2025-06-17",
"count": 1
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-07-05",
"count": 1
},
{
"date": "2025-07-07",
"count": 1
},
{
"date": "2025-07-11",
"count": 6
},
{
"date": "2025-07-12",
"count": 3
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-19",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-11",
"count": 1
},
{
"date": "2025-08-14",
"count": 1
},
{
"date": "2025-08-15",
"count": 2
},
{
"date": "2025-08-27",
"count": 1
},
{
"date": "2025-09-02",
"count": 1
},
{
"date": "2025-09-04",
"count": 1
},
{
"date": "2025-09-15",
"count": 1
},
{
"date": "2025-09-27",
"count": 2
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-10-05",
"count": 1
},
{
"date": "2025-10-16",
"count": 1
},
{
"date": "2025-10-25",
"count": 1
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-11-13",
"count": 1
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-11-30",
"count": 1
},
{
"date": "2025-12-05",
"count": 1
},
{
"date": "2025-12-13",
"count": 1
},
{
"date": "2025-12-23",
"count": 2
},
{
"date": "2026-01-01",
"count": 1
},
{
"date": "2026-01-03",
"count": 1
},
{
"date": "2026-01-10",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-01-29",
"count": 1
},
{
"date": "2026-01-31",
"count": 2
},
{
"date": "2026-02-01",
"count": 3
},
{
"date": "2026-02-04",
"count": 1
},
{
"date": "2026-02-05",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-15",
"count": 2
},
{
"date": "2026-02-18",
"count": 2
},
{
"date": "2026-02-19",
"count": 2
},
{
"date": "2026-02-20",
"count": 2
},
{
"date": "2026-02-21",
"count": 2
},
{
"date": "2026-02-22",
"count": 3
},
{
"date": "2026-02-24",
"count": 2
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-01",
"count": 2
},
{
"date": "2026-03-02",
"count": 1
},
{
"date": "2026-03-03",
"count": 1
},
{
"date": "2026-03-05",
"count": 2
},
{
"date": "2026-03-06",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-08",
"count": 1
},
{
"date": "2026-03-09",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-03-22",
"count": 4
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-03-31",
"count": 1
},
{
"date": "2026-04-02",
"count": 1
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-10",
"count": 1
},
{
"date": "2026-04-12",
"count": 1
},
{
"date": "2026-04-16",
"count": 1
},
{
"date": "2026-04-21",
"count": 1
},
{
"date": "2026-04-23",
"count": 1
},
{
"date": "2026-04-25",
"count": 1
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-04-30",
"count": 2
},
{
"date": "2026-05-02",
"count": 1
},
{
"date": "2026-05-03",
"count": 1
},
{
"date": "2026-05-04",
"count": 1
},
{
"date": "2026-05-06",
"count": 1
},
{
"date": "2026-05-10",
"count": 2
},
{
"date": "2026-05-16",
"count": 1
},
{
"date": "2026-05-17",
"count": 1
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-21",
"count": 1
},
{
"date": "2026-05-25",
"count": 1
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-31",
"count": 1
},
{
"date": "2026-06-02",
"count": 2
},
{
"date": "2026-06-04",
"count": 1
},
{
"date": "2026-06-06",
"count": 1
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-12",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-06-16",
"count": 1
},
{
"date": "2026-06-20",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-07-02",
"count": 1
},
{
"date": "2026-07-05",
"count": 2
},
{
"date": "2026-07-06",
"count": 1
},
{
"date": "2026-07-11",
"count": 1
},
{
"date": "2026-07-12",
"count": 4
},
{
"date": "2026-07-14",
"count": 1
},
{
"date": "2026-07-15",
"count": 1
},
{
"date": "2026-07-17",
"count": 1
},
{
"date": "2026-07-20",
"count": 1
},
{
"date": "2026-07-28",
"count": 1
},
{
"date": "2026-07-30",
"count": 5
}
],
"complete": true,
"collected": 188,
"total_forks": 193
},
"star_history": null,
"open_issues_and_prs": 170
},
"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": [
"web-app/tsconfig.json"
],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 55860,
"source_files_sampled": 104,
"oversized_source_files": 0,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 3844
},
"dependencies": {
"manifests": [
"go.mod",
"web-app/package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "flatted",
"direct": false,
"version": "3.3.1",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-25h7-pfq9-p65f",
"GHSA-rf6f-7fwh-wjgh"
],
"fixed_version": "3.4.2",
"advisory_count": 2,
"oldest_advisory_days": 142
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.45.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 10,
"advisory_ids": [
"GHSA-45gg-vh54-h5m9",
"GHSA-5cgq-3rg8-m6cv",
"GHSA-78mq-xcr3-xm33",
"GHSA-89gr-r52h-f8rx",
"GHSA-9m57-25v3-79x9",
"GHSA-f5wc-c3c7-36mc",
"GHSA-jppx-rxg9-jmrx",
"GHSA-q4h4-gmj2-qvw2",
"GHSA-qpw4-5x99-6vjp",
"GHSA-rm3j-f69w-wqmq"
],
"fixed_version": "0.52.0",
"advisory_count": 27,
"oldest_advisory_days": 72
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.77.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf",
"GHSA-p77j-4mvh-x3m3",
"GO-2026-4762",
"GO-2026-6061"
],
"fixed_version": "1.82.1",
"advisory_count": 4,
"oldest_advisory_days": 137
},
{
"name": "protobufjs",
"direct": false,
"version": "7.4.0",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-2pr8-phx7-x9h3",
"GHSA-66ff-xgx4-vchm",
"GHSA-685m-2w69-288q",
"GHSA-75px-5xx7-5xc7",
"GHSA-f38q-mgvj-vph7",
"GHSA-fx83-v9x8-x52w",
"GHSA-jggg-4jg4-v7c6",
"GHSA-jvwf-75h9-cwgg",
"GHSA-q6x5-8v7m-xcrf",
"GHSA-wcpc-wj8m-hjx6"
],
"fixed_version": "8.6.0",
"advisory_count": 11,
"oldest_advisory_days": 107
},
{
"name": "rollup",
"direct": false,
"version": "4.46.2",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-mw96-cpmx-2vgc"
],
"fixed_version": "4.59.0",
"advisory_count": 1,
"oldest_advisory_days": 157
},
{
"name": "axios",
"direct": true,
"version": "1.13.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.7,
"advisory_ids": [
"GHSA-35jp-ww65-95wh",
"GHSA-3g43-6gmg-66jw",
"GHSA-3p68-rc4w-qgx5",
"GHSA-3w6x-2g7m-8v23",
"GHSA-42h9-826w-cgv3",
"GHSA-43fc-jf86-j433",
"GHSA-445q-vr5w-6q77",
"GHSA-5c9x-8gcm-mpgx",
"GHSA-62hf-57xw-28j9",
"GHSA-6chq-wfr3-2hj9"
],
"fixed_version": "1.18.0",
"advisory_count": 29,
"oldest_advisory_days": 174
},
{
"name": "@grpc/grpc-js",
"direct": false,
"version": "1.13.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-5375-pq7m-f5r2",
"GHSA-99f4-grh7-6pcq"
],
"fixed_version": "1.14.4",
"advisory_count": 2,
"oldest_advisory_days": 52
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.12",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-f886-m6hf-6m8v",
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 3,
"oldest_advisory_days": 129
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.0.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-f886-m6hf-6m8v",
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 3,
"oldest_advisory_days": 129
},
{
"name": "form-data",
"direct": false,
"version": "4.0.4",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-hmw2-7cc7-3qxx"
],
"fixed_version": "4.0.6",
"advisory_count": 1,
"oldest_advisory_days": 48
},
{
"name": "github.com/quic-go/quic-go",
"direct": false,
"version": "v0.54.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-47m2-4cr7-mhcw",
"GHSA-g754-hx8w-x2g6",
"GHSA-vvgj-x9jq-8cj9",
"GO-2025-4017",
"GO-2025-4233",
"GO-2026-5676"
],
"fixed_version": "0.59.1",
"advisory_count": 6,
"oldest_advisory_days": 296
},
{
"name": "glob",
"direct": false,
"version": "10.4.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-5j98-mcp5-4vw2"
],
"fixed_version": "11.1.0",
"advisory_count": 1,
"oldest_advisory_days": 258
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.38.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh2q-q3fh-2475",
"GO-2026-5506"
],
"fixed_version": "1.41.0",
"advisory_count": 2,
"oldest_advisory_days": 117
},
{
"name": "golang.org/x/image",
"direct": false,
"version": "v0.32.0",
"severity": "high",
"ecosystem": "go",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-44p7-9xx4-hf2g",
"GHSA-q675-qj96-32m9",
"GO-2026-4815",
"GO-2026-4961",
"GO-2026-4962",
"GO-2026-5031",
"GO-2026-5032",
"GO-2026-5061",
"GO-2026-5062",
"GO-2026-5066"
],
"fixed_version": "0.43.0",
"advisory_count": 10,
"oldest_advisory_days": 130
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m",
"GHSA-h67p-54hq-rp68",
"GHSA-mh29-5h37-fv8m"
],
"fixed_version": "4.3.0",
"advisory_count": 3,
"oldest_advisory_days": 261
},
{
"name": "lodash",
"direct": false,
"version": "4.17.21",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.1,
"advisory_ids": [
"GHSA-f23m-r3pf-42rh",
"GHSA-r5fr-rjxr-66jc",
"GHSA-xxjr-mmjv-4gpg"
],
"fixed_version": "4.18.0",
"advisory_count": 3,
"oldest_advisory_days": 192
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-23c5-xmqv-rm74",
"GHSA-3ppc-4f35-3m26",
"GHSA-7r86-cg39-jmmj"
],
"fixed_version": "10.2.3",
"advisory_count": 3,
"oldest_advisory_days": 164
},
{
"name": "minimatch",
"direct": false,
"version": "5.1.6",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-23c5-xmqv-rm74",
"GHSA-3ppc-4f35-3m26",
"GHSA-7r86-cg39-jmmj"
],
"fixed_version": "10.2.3",
"advisory_count": 3,
"oldest_advisory_days": 164
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-23c5-xmqv-rm74",
"GHSA-3ppc-4f35-3m26",
"GHSA-7r86-cg39-jmmj"
],
"fixed_version": "10.2.3",
"advisory_count": 3,
"oldest_advisory_days": 164
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3v7f-55p6-f55p",
"GHSA-c2c7-rcm5-vvqj"
],
"fixed_version": "4.0.4",
"advisory_count": 2,
"oldest_advisory_days": 130
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3v7f-55p6-f55p",
"GHSA-c2c7-rcm5-vvqj"
],
"fixed_version": "4.0.4",
"advisory_count": 2,
"oldest_advisory_days": 130
},
{
"name": "postcss",
"direct": false,
"version": "8.5.6",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-6g55-p6wh-862q",
"GHSA-qx2v-qp2m-jg93",
"GHSA-r28c-9q8g-f849"
],
"fixed_version": "8.5.18",
"advisory_count": 3,
"oldest_advisory_days": 100
},
{
"name": "react-router",
"direct": false,
"version": "7.10.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.2,
"advisory_ids": [
"GHSA-2j2x-hqr9-3h42",
"GHSA-2w69-qvjg-hvjx",
"GHSA-337j-9hxr-rhxg",
"GHSA-49rj-9fvp-4h2h",
"GHSA-8646-j5j9-6r62",
"GHSA-8v8x-cx79-35w7",
"GHSA-8x6r-g9mw-2r78",
"GHSA-chx6-hx7r-mcp5",
"GHSA-f22v-gfqf-p8f3",
"GHSA-h5cw-625j-3rxh"
],
"fixed_version": "7.18.0",
"advisory_count": 13,
"oldest_advisory_days": 206
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-vj76-c3g6-qr5v"
],
"fixed_version": "3.1.1",
"advisory_count": 1,
"oldest_advisory_days": 312
},
{
"name": "tar-fs",
"direct": false,
"version": "3.1.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-vj76-c3g6-qr5v"
],
"fixed_version": "3.1.1",
"advisory_count": 1,
"oldest_advisory_days": 312
},
{
"name": "tmp",
"direct": false,
"version": "0.2.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-ph9p-34f9-6g65"
],
"fixed_version": "0.2.6",
"advisory_count": 1,
"oldest_advisory_days": 67
},
{
"name": "undici",
"direct": false,
"version": "5.29.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-2mjp-6q6p-2qxm",
"GHSA-35p6-xmwp-9g52",
"GHSA-4992-7rv2-5pvq",
"GHSA-g8m3-5g58-fq7m",
"GHSA-g9mf-h72j-4rw9",
"GHSA-p88m-4jfj-68fv",
"GHSA-v9p9-hfj2-hcw8",
"GHSA-vrm6-8vpv-qv8q",
"GHSA-vxpw-j846-p89q"
],
"fixed_version": "8.5.0",
"advisory_count": 9,
"oldest_advisory_days": 200
},
{
"name": "uuid",
"direct": false,
"version": "10.0.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-w5hq-g745-h8pq"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 102
},
{
"name": "vite",
"direct": false,
"version": "7.3.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4w7w-66w2-5vf9",
"GHSA-fx2h-pf6j-xcff",
"GHSA-p9ff-h696-f583",
"GHSA-v2wj-q39q-566r",
"GHSA-v6wh-96g9-6wx3"
],
"fixed_version": "8.0.16",
"advisory_count": 5,
"oldest_advisory_days": 118
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-q6x5-8v7m-xcrf"
],
"fixed_version": "8.0.2",
"advisory_count": 1,
"oldest_advisory_days": 82
},
{
"name": "ajv",
"direct": false,
"version": "6.12.6",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-2g4f-4pwh-qvx6"
],
"fixed_version": "8.18.0",
"advisory_count": 1,
"oldest_advisory_days": 172
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.15.9",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-r4q5-vmmm-2653"
],
"fixed_version": "1.16.0",
"advisory_count": 1,
"oldest_advisory_days": 110
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.47.0",
"severity": "moderate",
"ecosystem": "go",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-5cv4-jp36-h3mw",
"GO-2026-4918",
"GO-2026-5025",
"GO-2026-5026",
"GO-2026-5027",
"GO-2026-5028",
"GO-2026-5029",
"GO-2026-5030",
"GO-2026-5942"
],
"fixed_version": "1.26.3",
"advisory_count": 9,
"oldest_advisory_days": 87
},
{
"name": "yaml",
"direct": false,
"version": "2.5.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 4.3,
"advisory_ids": [
"GHSA-48c2-rrv3-qjmp"
],
"fixed_version": "2.8.3",
"advisory_count": 1,
"oldest_advisory_days": 130
},
{
"name": "github.com/disintegration/imaging",
"direct": true,
"version": "v1.6.2",
"severity": "low",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GHSA-q7pp-wcgr-pffx"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 1062
},
{
"name": "@babel/core",
"direct": false,
"version": "7.28.4",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.2,
"advisory_ids": [
"GHSA-4x5r-pxfx-6jf8"
],
"fixed_version": "8.0.0-rc.6",
"advisory_count": 1,
"oldest_advisory_days": 48
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.38.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 72
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.31.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 19
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 2,
"high": 24,
"unknown": 2,
"critical": 5,
"moderate": 5
},
"advisory_count": 172,
"affected_count": 38,
"assessed_count": 616,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 2
},
"ecosystems": [
"go",
"npm"
],
"dependencies": [
{
"name": "cloud.google.com/go/documentai",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.39.0"
},
{
"name": "github.com/Masterminds/sprig/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.3.0"
},
{
"name": "github.com/disintegration/imaging",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.2"
},
{
"name": "github.com/fatih/color",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.18.0"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.12"
},
{
"name": "github.com/gardar/ocrchestra",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20250521145628-aaae7e4d40e9"
},
{
"name": "github.com/gen2brain/go-fitz",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.24.15"
},
{
"name": "github.com/gin-gonic/gin",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.0"
},
{
"name": "github.com/google/uuid",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "github.com/hashicorp/go-retryablehttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.7.8"
},
{
"name": "github.com/pdfcpu/pdfcpu",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.11.1"
},
{
"name": "github.com/sirupsen/logrus",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.9.3"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "github.com/tmc/langchaingo",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.1.14"
},
{
"name": "golang.org/x/sync",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.19.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.14.0"
},
{
"name": "google.golang.org/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.257.0"
},
{
"name": "google.golang.org/genai",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.39.0"
},
{
"name": "gorm.io/driver/sqlite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "gorm.io/gorm",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.31.1"
},
{
"name": "@headlessui/react",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.8"
},
{
"name": "@heroicons/react",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.5"
},
{
"name": "@mdi/js",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^7.4.47"
},
{
"name": "@mdi/react",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.1"
},
{
"name": "axios",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^1.7.7"
},
{
"name": "classnames",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^2.5.1"
},
{
"name": "date-fns",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.0"
},
{
"name": "prop-types",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^15.8.1"
},
{
"name": "react",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-dom",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-icons",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^5.3.0"
},
{
"name": "react-router-dom",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^7.0.0"
},
{
"name": "react-tag-autocomplete",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^7.3.0"
},
{
"name": "react-tooltip",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^5.28.0"
},
{
"name": "winston",
"manifest": "web-app/package.json",
"ecosystem": "npm",
"version_constraint": "^3.17.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "cloud.google.com/go/documentai",
"direct": true,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "github.com/disintegration/imaging",
"direct": true,
"version": "v1.6.2",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": true,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"direct": true,
"version": "v1.4.12",
"ecosystem": "go"
},
{
"name": "github.com/gardar/ocrchestra",
"direct": true,
"version": "v0.0.0-20250521145628-aaae7e4d40e9",
"ecosystem": "go"
},
{
"name": "github.com/gen2brain/go-fitz",
"direct": true,
"version": "v1.24.15",
"ecosystem": "go"
},
{
"name": "github.com/gin-gonic/gin",
"direct": true,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-retryablehttp",
"direct": true,
"version": "v0.7.8",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/sprig/v3",
"direct": true,
"version": "v3.3.0",
"ecosystem": "go"
},
{
"name": "github.com/pdfcpu/pdfcpu",
"direct": true,
"version": "v0.11.1",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": true,
"version": "v1.9.3",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "github.com/tmc/langchaingo",
"direct": true,
"version": "v0.1.14",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": true,
"version": "v0.19.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.14.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/api",
"direct": true,
"version": "v0.257.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genai",
"direct": true,
"version": "v1.39.0",
"ecosystem": "go"
},
{
"name": "gorm.io/driver/sqlite",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "gorm.io/gorm",
"direct": true,
"version": "v1.31.1",
"ecosystem": "go"
},
{
"name": "@headlessui/react",
"direct": true,
"version": "2.2.9",
"ecosystem": "npm"
},
{
"name": "@heroicons/react",
"direct": true,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@mdi/js",
"direct": true,
"version": "7.4.47",
"ecosystem": "npm"
},
{
"name": "@mdi/react",
"direct": true,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "axios",
"direct": true,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "classnames",
"direct": true,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "date-fns",
"direct": true,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": true,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "react",
"direct": true,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "react-icons",
"direct": true,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "react-router-dom",
"direct": true,
"version": "7.10.1",
"ecosystem": "npm"
},
{
"name": "react-tag-autocomplete",
"direct": true,
"version": "7.5.1",
"ecosystem": "npm"
},
{
"name": "react-tooltip",
"direct": true,
"version": "5.30.0",
"ecosystem": "npm"
},
{
"name": "winston",
"direct": true,
"version": "3.19.0",
"ecosystem": "npm"
},
{
"name": "cloud.google.com/go",
"direct": false,
"version": "v0.120.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth",
"direct": false,
"version": "v0.17.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth/oauth2adapt",
"direct": false,
"version": "v0.2.8",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/compute/metadata",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/longrunning",
"direct": false,
"version": "v0.6.7",
"ecosystem": "go"
},
{
"name": "codeberg.org/go-pdf/fpdf",
"direct": false,
"version": "v0.11.0",
"ecosystem": "go"
},
{
"name": "dario.cat/mergo",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic",
"direct": false,
"version": "v1.14.0",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic/loader",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/clipperhouse/uax29/v2",
"direct": false,
"version": "v2.2.0",
"ecosystem": "go"
},
{
"name": "github.com/cloudwego/base64x",
"direct": false,
"version": "v0.1.6",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/dlclark/regexp2",
"direct": false,
"version": "v1.11.5",
"ecosystem": "go"
},
{
"name": "github.com/ebitengine/purego",
"direct": false,
"version": "v0.8.4",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/gage-technologies/mistral-go",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/gin-contrib/sse",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/locales",
"direct": false,
"version": "v0.14.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/universal-translator",
"direct": false,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/validator/v10",
"direct": false,
"version": "v10.27.0",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-json",
"direct": false,
"version": "v0.10.5",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-yaml",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/s2a-go",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/enterprise-certificate-proxy",
"direct": false,
"version": "v0.3.7",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/gax-go/v2",
"direct": false,
"version": "v2.15.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.3",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-cleanhttp",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/hhrutter/lzw",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/hhrutter/pkcs7",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/hhrutter/tiff",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/huandu/xstrings",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/jinzhu/inflection",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jinzhu/now",
"direct": false,
"version": "v1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/jupiterrider/ffi",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/leodido/go-urn",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/goutils",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/masterminds/semver/v3",
"direct": false,
"version": "v3.3.1",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-colorable",
"direct": false,
"version": "v0.1.14",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-runewidth",
"direct": false,
"version": "v0.0.19",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-sqlite3",
"direct": false,
"version": "v1.14.24",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/copystructure",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/reflectwalk",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/concurrent",
"direct": false,
"version": "v0.0.0-20180306012644-bacd9c7ef1dd",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/reflect2",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": false,
"version": "v2.2.4",
"ecosystem": "go"
},
{
"name": "github.com/phpdave11/gofpdi",
"direct": false,
"version": "v1.0.13",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/pkoukk/tiktoken-go",
"direct": false,
"version": "v0.1.7",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/qpack",
"direct": false,
"version": "v0.5.1",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/quic-go",
"direct": false,
"version": "v0.54.0",
"ecosystem": "go"
},
{
"name": "github.com/shopspring/decimal",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/spf13/cast",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "github.com/twitchyliquid64/golang-asm",
"direct": false,
"version": "v0.15.1",
"ecosystem": "go"
},
{
"name": "github.com/ugorji/go/codec",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "gitlab.com/golang-commonmark/html",
"direct": false,
"version": "v0.0.0-20191124015941-a22733972181",
"ecosystem": "go"
},
{
"name": "gitlab.com/golang-commonmark/linkify",
"direct": false,
"version": "v0.0.0-20191026162114-a0c2df6c8f82",
"ecosystem": "go"
},
{
"name": "gitlab.com/golang-commonmark/markdown",
"direct": false,
"version": "v0.0.0-20211110145824-bf3e522c626a",
"ecosystem": "go"
},
{
"name": "gitlab.com/golang-commonmark/mdurl",
"direct": false,
"version": "v0.0.0-20191124015652-932350d1cb84",
"ecosystem": "go"
},
{
"name": "gitlab.com/golang-commonmark/puny",
"direct": false,
"version": "v0.0.0-20191124015043-9f83538fa04f",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc",
"direct": false,
"version": "v0.61.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.61.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.38.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.38.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.38.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/mock",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/arch",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/image",
"direct": false,
"version": "v0.32.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.29.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": false,
"version": "v0.33.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.38.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.31.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": false,
"version": "v0.38.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto",
"direct": false,
"version": "v0.0.0-20250603155806-513f23925822",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20251022142026-3a174f9686a8",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20251124214823-79d6a2a48846",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.77.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.10",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v2",
"direct": false,
"version": "v2.4.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": false,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.28.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.27.2",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.28.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.27.2",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@balena/dockerignore",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "@dabh/diagnostics",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.27.1",
"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/config-array",
"direct": false,
"version": "0.21.1",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.2",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@fastify/busboy",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "@floating-ui/core",
"direct": false,
"version": "1.6.8",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": false,
"version": "1.6.11",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react",
"direct": false,
"version": "0.26.24",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react-dom",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "@floating-ui/utils",
"direct": false,
"version": "0.2.8",
"ecosystem": "npm"
},
{
"name": "@grpc/grpc-js",
"direct": false,
"version": "1.13.1",
"ecosystem": "npm"
},
{
"name": "@grpc/proto-loader",
"direct": false,
"version": "0.7.13",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.6",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.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/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@js-sdsl/ordered-map",
"direct": false,
"version": "4.4.2",
"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": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@playwright/test",
"direct": false,
"version": "1.57.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/aspromise",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/codegen",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@protobufjs/eventemitter",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/fetch",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/float",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/inquire",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/path",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/pool",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@react-aria/focus",
"direct": false,
"version": "3.20.2",
"ecosystem": "npm"
},
{
"name": "@react-aria/interactions",
"direct": false,
"version": "3.25.0",
"ecosystem": "npm"
},
{
"name": "@react-aria/ssr",
"direct": false,
"version": "3.9.8",
"ecosystem": "npm"
},
{
"name": "@react-aria/utils",
"direct": false,
"version": "3.28.2",
"ecosystem": "npm"
},
{
"name": "@react-stately/flags",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@react-stately/utils",
"direct": false,
"version": "3.10.6",
"ecosystem": "npm"
},
{
"name": "@react-types/shared",
"direct": false,
"version": "3.29.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-beta.47",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loongarch64-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "@so-ric/colorspace",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@swc/core",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-arm64",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-x64",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm-gnueabihf",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-gnu",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-musl",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-gnu",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-musl",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-arm64-msvc",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-ia32-msvc",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-x64-msvc",
"direct": false,
"version": "1.13.5",
"ecosystem": "npm"
},
{
"name": "@swc/counter",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@swc/helpers",
"direct": false,
"version": "0.5.17",
"ecosystem": "npm"
},
{
"name": "@swc/types",
"direct": false,
"version": "0.1.25",
"ecosystem": "npm"
},
{
"name": "@tanstack/react-virtual",
"direct": false,
"version": "3.13.9",
"ecosystem": "npm"
},
{
"name": "@tanstack/virtual-core",
"direct": false,
"version": "3.13.9",
"ecosystem": "npm"
},
{
"name": "@types/docker-modem",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/dockerode",
"direct": false,
"version": "3.3.35",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "18.19.74",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "22.19.3",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "@types/ssh2",
"direct": false,
"version": "0.5.52",
"ecosystem": "npm"
},
{
"name": "@types/ssh2",
"direct": false,
"version": "1.15.4",
"ecosystem": "npm"
},
{
"name": "@types/ssh2-streams",
"direct": false,
"version": "0.1.12",
"ecosystem": "npm"
},
{
"name": "@types/triple-beam",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react-swc",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"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.1.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "archiver",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "archiver-utils",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "asn1",
"direct": false,
"version": "0.2.6",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "async-lock",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.4.23",
"ecosystem": "npm"
},
{
"name": "b4a",
"direct": false,
"version": "1.6.7",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "bare-events",
"direct": false,
"version": "2.5.4",
"ecosystem": "npm"
},
{
"name": "bare-fs",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "bare-os",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "bare-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "bare-stream",
"direct": false,
"version": "2.6.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.9.7",
"ecosystem": "npm"
},
{
"name": "bcrypt-pbkdf",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "4.1.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": "browserslist",
"direct": false,
"version": "4.28.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "buffer-crc32",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "buildcheck",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "byline",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"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.30001760",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "color",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "color-string",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "compress-commons",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cpu-features",
"direct": false,
"version": "0.0.10",
"ecosystem": "npm"
},
{
"name": "crc-32",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "crc32-stream",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "data-uri-to-buffer",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "docker-compose",
"direct": false,
"version": "0.24.8",
"ecosystem": "npm"
},
{
"name": "docker-modem",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "dockerode",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "17.2.3",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.267",
"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": "enabled",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.4",
"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-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.27.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.2",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react-hooks",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react-refresh",
"direct": false,
"version": "0.4.25",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"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": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-fifo",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.2",
"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.17.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fecha",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "fetch-blob",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"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": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fn.name",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.15.9",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "formdata-polyfill",
"direct": false,
"version": "4.0.10",
"ecosystem": "npm"
},
{
"name": "fraction.js",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "fs-constants",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-port",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.4.5",
"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": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "16.5.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": "has-flag",
"direct": false,
"version": "4.0.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": "hermes-estree",
"direct": false,
"version": "0.25.1",
"ecosystem": "npm"
},
{
"name": "hermes-parser",
"direct": false,
"version": "0.25.1",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.15.1",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"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": "jsesc",
"direct": false,
"version": "3.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": "2.2.3",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kuler",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "lazystream",
"direct": false,
"version": "1.0.1",
"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": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.17.21",
"ecosystem": "npm"
},
{
"name": "lodash.camelcase",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "logform",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "5.3.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": "5.1.1",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"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": "minimatch",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "5.1.6",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mkdirp-classic",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nan",
"direct": false,
"version": "2.22.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.11",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "node-domexception",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.27",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"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": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "one-time",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"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": "package-json-from-dist",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"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": "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.6",
"ecosystem": "npm"
},
{
"name": "playwright",
"direct": false,
"version": "1.57.0",
"ecosystem": "npm"
},
{
"name": "playwright-core",
"direct": false,
"version": "1.57.0",
"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.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "4.0.2",
"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": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "process",
"direct": false,
"version": "0.11.10",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "proper-lockfile",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "properties-reader",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "protobufjs",
"direct": false,
"version": "7.4.0",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "queue-tick",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-router",
"direct": false,
"version": "7.10.1",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "readdir-glob",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.8",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.46.2",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-stable-stringify",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.3",
"ecosystem": "npm"
},
{
"name": "set-cookie-parser",
"direct": false,
"version": "2.7.1",
"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": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "split-ca",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ssh-remote-port-forward",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "ssh2",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "stack-trace",
"direct": false,
"version": "0.0.10",
"ecosystem": "npm"
},
{
"name": "streamx",
"direct": false,
"version": "2.21.1",
"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_decoder",
"direct": false,
"version": "1.1.1",
"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.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.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": "tabbable",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.19",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "testcontainers",
"direct": false,
"version": "10.28.0",
"ecosystem": "npm"
},
{
"name": "text-decoder",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "text-hex",
"direct": false,
"version": "1.0.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": "triple-beam",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tweetnacl",
"direct": false,
"version": "0.14.5",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.49.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "5.29.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "5.26.5",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "web-streams-polyfill",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "winston-transport",
"direct": false,
"version": "4.9.0",
"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": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "zip-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zod-validation-error",
"direct": false,
"version": "3.5.3",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 616,
"direct_count": 35,
"indirect_count": 581
}
},
"maintainership": {
"issues": {
"open_prs": 38,
"merged_prs": 586,
"open_issues": 132,
"closed_ratio": 0.532,
"closed_issues": 150,
"closed_unmerged_prs": 48
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "icereed",
"commits": 112,
"avatar_url": "https://avatars.githubusercontent.com/u/444269?v=4"
},
{
"type": "User",
"login": "hensing",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/1055581?v=4"
},
{
"type": "User",
"login": "JonasHess",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/8344443?v=4"
},
{
"type": "User",
"login": "kaindlnetwork",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/82705244?v=4"
},
{
"type": "User",
"login": "gardar",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/455556?v=4"
},
{
"type": "User",
"login": "matgoebl",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/978442?v=4"
},
{
"type": "User",
"login": "thiswillbeyourgithub",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/26625900?v=4"
},
{
"type": "User",
"login": "ccrlawrence",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/6354486?v=4"
},
{
"type": "User",
"login": "mkrinke",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/254545?v=4"
},
{
"type": "User",
"login": "moarsmokes",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/24761507?v=4"
}
],
"contributors_sampled": 29,
"top_contributor_share": 0.663
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"docker-build-and-push.yml",
"e2e-real-llm.yml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum",
"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": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 7,
"reason": "20 out of 26 merged PRs checked by a CI test -- score normalized to 7",
"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": 4,
"reason": "Found 12/25 approved changesets -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 6 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 0,
"reason": "dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "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": 9,
"reason": "11 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 9",
"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": 4,
"reason": "SAST tool is not run on all commits -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not 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": "136 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "72ddde765709544823a0f5452575a070fdaac3b4",
"ran_at": "2026-08-02T21:49:10Z",
"aggregate_score": 4.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 0,
"decided_7d": 1,
"merged_30d": 8,
"authors_30d": 20,
"decided_30d": 28,
"sample_size": 60,
"window_days": 30,
"sample_exhausted": false,
"authors_probed_30d": 12,
"newcomer_merged_30d": 0,
"bot_prs_excluded_30d": 0,
"newcomer_authors_30d": 11,
"newcomer_decided_30d": 12
},
"ci_last_run_at": "2026-07-28T09:27:31Z",
"oldest_open_prs": [
{
"number": 56,
"created_at": "2025-01-02T14:19:35Z",
"last_comment_at": "2025-01-02T14:19:43Z",
"last_comment_author": "coderabbitai"
},
{
"number": 174,
"created_at": "2025-02-03T08:17:05Z",
"last_comment_at": "2025-02-03T08:17:13Z",
"last_comment_author": "coderabbitai"
},
{
"number": 180,
"created_at": "2025-02-03T09:38:55Z",
"last_comment_at": "2025-02-03T09:39:05Z",
"last_comment_author": "coderabbitai"
},
{
"number": 432,
"created_at": "2025-05-28T03:19:53Z",
"last_comment_at": "2025-09-21T06:08:51Z",
"last_comment_author": "icereed"
},
{
"number": 458,
"created_at": "2025-06-06T18:26:53Z",
"last_comment_at": "2025-06-06T19:18:15Z",
"last_comment_author": "icereed"
},
{
"number": 470,
"created_at": "2025-06-21T09:13:57Z",
"last_comment_at": "2025-06-21T09:14:04Z",
"last_comment_author": "coderabbitai"
},
{
"number": 608,
"created_at": "2025-09-02T09:06:13Z",
"last_comment_at": "2025-09-02T12:52:24Z",
"last_comment_author": "copilot-swe-agent"
},
{
"number": 610,
"created_at": "2025-09-02T11:12:28Z",
"last_comment_at": "2025-09-02T11:12:30Z",
"last_comment_author": "copilot-swe-agent"
},
{
"number": 617,
"created_at": "2025-09-03T12:32:41Z",
"last_comment_at": "2025-09-03T12:57:55Z",
"last_comment_author": "coderabbitai"
},
{
"number": 655,
"created_at": "2025-09-27T06:01:57Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 660,
"created_at": "2025-09-27T22:42:42Z",
"last_comment_at": "2025-09-27T22:42:49Z",
"last_comment_author": "coderabbitai"
},
{
"number": 683,
"created_at": "2025-10-05T21:59:23Z",
"last_comment_at": "2025-10-10T21:07:41Z",
"last_comment_author": "storm1er"
},
{
"number": 749,
"created_at": "2025-11-02T06:03:28Z",
"last_comment_at": "2025-11-02T06:03:37Z",
"last_comment_author": "coderabbitai"
},
{
"number": 768,
"created_at": "2025-11-07T12:06:28Z",
"last_comment_at": "2025-11-07T12:06:40Z",
"last_comment_author": "coderabbitai"
},
{
"number": 830,
"created_at": "2025-12-13T02:49:57Z",
"last_comment_at": "2025-12-13T02:50:08Z",
"last_comment_author": "coderabbitai"
},
{
"number": 835,
"created_at": "2025-12-15T22:43:58Z",
"last_comment_at": "2025-12-15T22:44:05Z",
"last_comment_author": "coderabbitai"
},
{
"number": 836,
"created_at": "2025-12-16T23:15:16Z",
"last_comment_at": "2025-12-16T23:15:21Z",
"last_comment_author": "coderabbitai"
},
{
"number": 838,
"created_at": "2025-12-19T07:45:03Z",
"last_comment_at": "2025-12-19T07:45:09Z",
"last_comment_author": "coderabbitai"
},
{
"number": 839,
"created_at": "2025-12-19T07:45:16Z",
"last_comment_at": "2025-12-19T07:45:24Z",
"last_comment_author": "coderabbitai"
},
{
"number": 847,
"created_at": "2026-01-01T21:11:22Z",
"last_comment_at": "2026-01-01T21:11:28Z",
"last_comment_author": "coderabbitai"
}
],
"last_merged_pr_at": "2026-07-21T10:06:42Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 32,
"created_at": "2024-10-26T13:22:17Z",
"last_comment_at": "2024-10-29T20:20:54Z",
"last_comment_author": "icereed"
},
{
"number": 48,
"created_at": "2024-11-19T00:45:16Z",
"last_comment_at": "2026-07-24T14:18:44Z",
"last_comment_author": "JP95Git"
},
{
"number": 51,
"created_at": "2024-11-27T09:25:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 53,
"created_at": "2024-12-10T08:41:40Z",
"last_comment_at": "2025-04-17T09:18:27Z",
"last_comment_author": "p3l4h0"
},
{
"number": 65,
"created_at": "2025-01-06T16:07:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 101,
"created_at": "2025-01-09T19:12:58Z",
"last_comment_at": "2025-04-19T06:06:28Z",
"last_comment_author": "LarsAC"
},
{
"number": 104,
"created_at": "2025-01-10T18:28:00Z",
"last_comment_at": "2025-01-11T07:29:54Z",
"last_comment_author": "icereed"
},
{
"number": 107,
"created_at": "2025-01-10T21:52:12Z",
"last_comment_at": "2025-07-22T09:24:11Z",
"last_comment_author": "ColCh"
},
{
"number": 111,
"created_at": "2025-01-11T19:15:24Z",
"last_comment_at": "2025-01-29T10:26:27Z",
"last_comment_author": "phanex"
},
{
"number": 112,
"created_at": "2025-01-11T19:24:25Z",
"last_comment_at": "2025-02-14T08:55:27Z",
"last_comment_author": "phanex"
},
{
"number": 127,
"created_at": "2025-01-14T22:35:14Z",
"last_comment_at": "2025-01-22T07:47:01Z",
"last_comment_author": "tttuntcloud"
},
{
"number": 147,
"created_at": "2025-01-23T14:24:53Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 165,
"created_at": "2025-01-29T09:33:03Z",
"last_comment_at": "2026-07-24T14:22:31Z",
"last_comment_author": "JP95Git"
},
{
"number": 170,
"created_at": "2025-01-31T07:47:23Z",
"last_comment_at": "2026-03-08T19:53:12Z",
"last_comment_author": "guma44"
},
{
"number": 173,
"created_at": "2025-02-03T00:55:19Z",
"last_comment_at": "2026-03-15T18:10:42Z",
"last_comment_author": "zebrapurring"
},
{
"number": 205,
"created_at": "2025-02-09T23:03:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 219,
"created_at": "2025-02-11T08:08:51Z",
"last_comment_at": "2025-03-16T18:53:22Z",
"last_comment_author": "albertusQuelle"
},
{
"number": 222,
"created_at": "2025-02-11T11:25:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 223,
"created_at": "2025-02-11T15:25:15Z",
"last_comment_at": "2025-02-11T21:17:24Z",
"last_comment_author": "Joly0"
},
{
"number": 231,
"created_at": "2025-02-12T16:14:51Z",
"last_comment_at": "2025-03-14T19:17:27Z",
"last_comment_author": "KarlsteinMain10"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/icereed/paperless-gpt",
"host": "github.com",
"name": "paperless-gpt",
"owner": "icereed"
},
"metrics": {
"overall": {
"key": "overall",
"band": "excellent",
"name": "Overall health",
"note": "The weighted overall 70 is calibrated to 83 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 70,
"calibrated": 83,
"calibration": "2026-08-02"
}
}
],
"value": 83,
"inputs": {
"security": 45,
"vitality": 86,
"community": 83,
"governance": 51,
"calibration": "2026-08-02",
"engineering": 81,
"ai_readiness": 88,
"weighted_overall_raw": 70
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"commits_last_year": 254,
"human_commit_share": 0.29,
"days_since_last_push": 0,
"active_weeks_last_year": 28
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "28/52 weeks with commits",
"points": 19.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 28
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "254 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 254
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "11 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 9",
"points": 9,
"status": "partial",
"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": 47,
"latest_release_tag": "v0.27.0",
"releases_from_tags": false,
"days_since_latest_release": 12,
"mean_days_between_releases": 46.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "47 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 47
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 12 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 12
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~46.3 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 46.3
}
}
],
"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": "exceptional",
"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": 14,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 14 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 14
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 83,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"forks": 193,
"stars": 2596,
"watchers": 19,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "2,596 stars",
"points": 55.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 2596
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "193 forks",
"points": 19,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 193
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "19 watchers",
"points": 7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 19
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 6,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"readme_badge_services": [
"shields.io"
],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 51,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "weak",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 29,
"top_contributor_share": 0.663
},
"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 66% of commits",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 66
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "29 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 29
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 56,
"inputs": {
"merged_prs": 586,
"open_issues": 132,
"closed_issues": 150,
"prs_merged_7d": 0,
"prs_decided_7d": 1,
"prs_merged_30d": 8,
"prs_decided_30d": 28,
"issue_closed_ratio": 0.532,
"closed_unmerged_prs": 48,
"first_time_authors_30d": 11,
"first_time_prs_merged_30d": 0,
"first_time_prs_decided_30d": 12
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "53% of issues closed",
"points": 22.3,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 53
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "586/634 decided PRs merged",
"points": 27.7,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 586,
"decided": 634
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "0/12 first-time contributors' PRs merged in 30d",
"points": 0,
"status": "missed",
"details": [
{
"code": "newcomer_prs_merged",
"params": {
"days": 30,
"merged": 0,
"decided": 12
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 12/25 approved changesets -- score normalized to 4",
"points": 6,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"followers": 67,
"owner_type": "User",
"is_verified": null,
"owner_login": "icereed",
"public_repos": 73,
"account_age_days": 5767
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "67 followers of icereed",
"points": 13.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 67,
"login": "icereed"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "73 public repos, account ~15 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 73
}
},
{
"code": "account_age_years",
"params": {
"years": 15
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 81,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 78,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"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": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"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": "20 out of 26 merged PRs checked by a CI test -- score normalized to 7",
"points": 14,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"topics": [
"ai",
"chatgpt",
"llm",
"ollama",
"paperless",
"paperless-ngx",
"mistral",
"ocr"
],
"has_wiki": true,
"homepage": null,
"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": null,
"points": 0,
"status": "missed",
"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": "8 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 8
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "weak",
"name": "Security",
"value": 45,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "weak",
"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 is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "20 out of 26 merged PRs checked by a CI test -- score normalized to 7",
"points": 1.8,
"status": "partial",
"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 12/25 approved changesets -- score normalized to 4",
"points": 3,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "dangerous workflow patterns detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"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": "11 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 9",
"points": 6.8,
"status": "partial",
"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 4",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"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": "136 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 616 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 616
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 57,
"inputs": {
"source": "osv",
"advisories": 172,
"affected_packages": 38,
"assessed_packages": 616,
"unassessed_packages": 0,
"affected_by_severity": "critical 5, high 24, moderate 5, low 2, unknown 2",
"direct_affected_packages": 2
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "2 affected: axios 1.13.2 (high 8.7), github.com/disintegration/imaging v1.6.2 (low)",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 2,
"packages": "axios 1.13.2 (high 8.7), github.com/disintegration/imaging v1.6.2 (low)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 1062 days ago",
"points": 32.2,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 1062
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"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": 616,
"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": "exceptional",
"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"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 10
},
"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": "excellent",
"name": "AI Readiness",
"value": 88,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.966,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 3844
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md"
}
}
],
"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": "28 of 29 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 28,
"sampled": 29
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"web-app/tsconfig.json"
],
"agent_commit_share": 0.16,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.71
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "go.mod"
}
}
],
"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": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "web-app/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "web-app/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": "16 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 16,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "71 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 71,
"sampled": 100
}
}
],
"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": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 55860,
"source_files_sampled": 104,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/104 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 104,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"top": [
"application"
],
"labels": [
"network-service",
"web-ui"
],
"scores": {
"web-ui": 4,
"network-service": 4
},
"primary": "network-service",
"evidence": [
{
"tier": "dependencies",
"label": "network-service",
"source": "dep:github.com/gin-gonic/gin",
"weight": 4
},
{
"tier": "dependencies",
"label": "web-ui",
"source": "dep:react-dom",
"weight": 4
}
],
"artifacts": [],
"confidence": "low",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": false
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"First-time contributor figures cover 12 of 20 authors (cap 12)"
],
"report_type": "repository",
"generated_at": "2026-08-02T21:49:37.850932Z",
"schema_version": "0.29.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/icereed/paperless-gpt.svg",
"full_name": "icereed/paperless-gpt",
"license_state": "standard",
"license_spdx": "MIT"
}