Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [
"agents",
"ai",
"api-gateway",
"asyncio",
"authentication-middleware",
"devops",
"docker",
"fastapi",
"federation",
"gateway",
"generative-ai",
"jwt",
"kubernetes",
"llm-agents",
"mcp",
"model-context-protocol",
"observability",
"prompt-engineering",
"python",
"tools"
],
"is_fork": false,
"size_kb": 419037,
"has_wiki": true,
"homepage": "https://ibm.github.io/mcp-context-forge/",
"languages": {
"Go": 1514,
"CSS": 31964,
"HTML": 1406177,
"Mako": 704,
"Rust": 925492,
"Jinja": 24279,
"Shell": 342376,
"Python": 34674027,
"Makefile": 553322,
"Dockerfile": 58404,
"JavaScript": 3182595,
"Go Template": 4408
},
"pushed_at": "2026-08-01T23:14:57Z",
"created_at": "2025-05-08T08:16:59Z",
"owner_type": "Organization",
"updated_at": "2026-08-02T20:16:01Z",
"description": "An AI Gateway, registry, and proxy that sits in front of any MCP, A2A, or REST/gRPC APIs, exposing a unified endpoint with centralized discovery, guardrails and management. Optimizes Agent & Tool calling, and supports plugins.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "https://www.ibm.com/opensource/",
"name": "International Business Machines",
"type": "Organization",
"login": "IBM",
"company": null,
"location": "United States of America",
"followers": 8517,
"avatar_url": "https://avatars.githubusercontent.com/u/1459110?v=4",
"created_at": "2012-02-21T22:13:01Z",
"is_verified": null,
"public_repos": 3925,
"account_age_days": 5276
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.0.6",
"kind": "patch",
"published_at": "2026-07-21T17:21:30Z"
},
{
"tag": "v1.0.5",
"kind": "patch",
"published_at": "2026-07-07T14:56:56Z"
},
{
"tag": "v1.0.4",
"kind": "patch",
"published_at": "2026-06-23T12:49:04Z"
},
{
"tag": "v1.0.3",
"kind": "patch",
"published_at": "2026-06-10T10:45:40Z"
},
{
"tag": "v1.0.2",
"kind": "patch",
"published_at": "2026-05-26T22:35:48Z"
},
{
"tag": "v1.0.1",
"kind": "patch",
"published_at": "2026-05-13T17:12:49Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-05-01T00:33:06Z"
},
{
"tag": "v1.0.0-RC-3",
"kind": "prerelease",
"published_at": "2026-04-14T14:16:19Z"
},
{
"tag": "v1.0.0-RC2",
"kind": "prerelease",
"published_at": "2026-03-09T04:13:11Z"
},
{
"tag": "v1.0.0-RC1",
"kind": "prerelease",
"published_at": "2026-02-18T14:25:50Z"
},
{
"tag": "v1.0.0-BETA-2",
"kind": "prerelease",
"published_at": "2026-01-24T15:59:13Z"
},
{
"tag": "v1.0.0-BETA-1",
"kind": "prerelease",
"published_at": "2025-12-16T20:14:34Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2025-11-09T22:05:14Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2025-10-08T00:34:31Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2025-09-16T17:29:25Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2025-08-22T16:58:30Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2025-08-05T23:36:47Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2025-07-22T22:25:43Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2025-07-11T03:13:46Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2025-07-09T02:42:28Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2025-06-24T11:59:09Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2025-06-15T19:12:31Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2025-06-05T21:39:24Z"
}
],
"recent_commits": [
{
"oid": "a48826ba0b07bd7b2a33123d67396a39dc23289d",
"body": "* feat(gateway): add prompt and resource counts to GatewayRead\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Optimise queries + test\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Address comments\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Add tests\n\nSigned-off-by: Gabri\n[…]\nbility count\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Fix documentation\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n---------\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "feat(api): add prompt and resource counts to GatewayRead (#5657)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-31T14:19:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a27a3f70aa3faa250930d1f2c3386c2a286a279e",
"body": "…to testable submodule (#6008)\n\n* refactor(middleware): extract auth-context middleware registration into testable submodule\n\nMove the CSRF / PasswordChangeEnforcement / AuthContext registration\nblock out of mcpgateway/main.py into\nmcpgateway/middleware/auth_context_stack.py as\nregister_auth_context\n[…]\nON_SECRET via patch.dict so Settings(_env_file=None)\ninstantiates in a clean environment.\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>",
"is_bot": false,
"headline": "refactor(middleware): extract auth-context middleware registration in…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-31T13:45:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7dab401c13a2e1b93e2cf7525a62cde2b927ecfb",
"body": "* Update docker-scan to upload SARIF file with finding.\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n* Containerfile updates & Try SBOM module\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n* fix(ci): address docker-scan SARIF review findings\n\n- Grant security-events: write to fedramp-comp\n[…]\n a\n grype failure\n- Refresh stale header and aggregator comments for the four-job layout\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>",
"is_bot": false,
"headline": "Follow-on refinements to Docker Security Scan job (#5438)",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-31T13:29:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8b2d45bf3176c0b2bcb40539a333fa0aafa9711e",
"body": "…764)\n\n* fix(mcp-apps): honour deprecated flat ui/resourceUri metadata key\n\nServers that emit only the deprecated flat `_meta[\"ui/resourceUri\"]` key\nlost their tool/UI association when passing through the gateway, because\n`merge_mcp_protocol_meta` returned early when `_meta.ui` was absent.\n\nThe flat\n[…]\nhilipAD <9472774+PhilipAD@users.noreply.github.com>\n\n---------\n\nSigned-off-by: PhilipAD <9472774+PhilipAD@users.noreply.github.com>\nCo-authored-by: PhilipAD <9472774+PhilipAD@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(mcp-apps): honour deprecated flat ui/resourceUri metadata key (#5…",
"author_name": "Philip D'Souza",
"author_login": "PhilipAD",
"committed_at": "2026-07-31T12:23:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef2ded1685eb6d2ea772d0328b07788803a6702a",
"body": "…o-derived validation (#4476)\n\n* fix(oauth): harden audience learning with issuer pinning and shape checks\n\nAddress follow-up review feedback for the audience-learning fix to make\nthe trust model defensible end-to-end and the data path defensive against\nunexpected IdP responses.\n\nProduction code cha\n[…]\nr.m@ibm.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "[FEATURE]: OAuth Resource UI field, origin fallback, and softened aut…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-31T09:00:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "042c9fc5e9feedf091e42791e4d44b8848a0da1d",
"body": "…#5631)\n\n* feat(observability): improve upstream MCP session error diagnostics\n\nEnhance error handling in upstream_session_registry to provide actionable,\nspecific error messages when upstream MCP session creation fails. Replaces\ngeneric 'unhandled errors in a TaskGroup' message with categorized err\n[…]\ns <bogdan-marius.catanus@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "feat(observability): improve upstream MCP session error diagnostics (…",
"author_name": "Bogdan-Marius Cătănuș",
"author_login": "bogdanmariusc10",
"committed_at": "2026-07-30T17:12:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0247d0707b6073f60c623e3835a6452b3b83e0d8",
"body": "Signed-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-30T14:58:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba6c7e7185d86a9a1cc6b971f636e9561ac96d88",
"body": "Align domain blocklist evaluation with the host used for the connection.\nCanonicalize both the parsed host and the configured entries through one\nhelper so equivalent spellings compare equal: percent-encoding, case,\nIPv6 brackets, trailing dots, uncompressed address literals, and Unicode\nversus punycode domains.\nAdd regression coverage.\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-30T14:45:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d892073c7a3eccdfdc93f6bd50880a9456e63da",
"body": "* feat(dataplane): publish per-backend add_headers/remove_headers\n\nThe dataplane consumer (contextforge-gateway-rs #4544) now accepts\nper-backend `add_headers` (map, overrides passthrough) and\n`remove_headers` (list, applied last) alongside the existing\n`passthrough_headers`. Thread both fields thro\n[…]\n Lang-Akshay <akshay.shinde26@ibm.com>\n\n* feat: added imgration and updated tests\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n---------\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "feat(dataplane): publish per-backend add_headers/remove_headers (#5924)",
"author_name": "Lang-Akshay",
"author_login": "Lang-Akshay",
"committed_at": "2026-07-30T13:38:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6ecace923cc38f636ce6a71104f8a3465ff74f1c",
"body": "…997)\n\n* fix: remove Python comment from JavaScript code in OAuth callback\n\nThe OAuth callback endpoint was embedding a Python pragma comment\n(# pragma: allowlist secret) inside JavaScript code at line 838.\nThis invalid syntax prevented the JavaScript fetch() call from\nexecuting, causing the 'Fetch \n[…]\nan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\n\n---------\n\nSigned-off-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>",
"is_bot": false,
"headline": "fix: remove Python comment from JavaScript code in OAuth callback (#5…",
"author_name": "Bogdan-Marius Cătănuș",
"author_login": "bogdanmariusc10",
"committed_at": "2026-07-30T12:34:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0192fec9ca07fb5483975de5ee72ccf46e3b09ed",
"body": "Downgrade Vite to go back to Rollup rather than Rolldown for s390x\ncompatibility\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix(s390x): Downgrade Vite from 8 to 7 (#5958)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-30T12:26:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24e923c9557fe01737059ce7f05a88ed43558445",
"body": "…dpoints (#5959) (#5979)\n\n* docs: document CSRF protection settings (#5959)\n\nAdd comprehensive CSRF Protection section to configuration.md documenting:\n- All 12 CSRF_* environment variables with code defaults and descriptions\n- Two independent CSRF implementations (middleware vs. admin routes)\n- Com\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "docs: document CSRF protection, middleware ordering, and LLM admin en…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-30T09:32:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2f3d67edab120be4c2d90b1997a4c923a7eb27eb",
"body": "…zer (#5961)\n\n* fix: generate strong per-run JWT secret in plugin integration harness\n\nThe plugin E2E harness defaulted JWT_SECRET_KEY to\n'my-test-key-but-now-longer-than-32-bytes', which is now on the\nknown-weak blocklist rejected by Settings validation in every\nenvironment — both the test gateway \n[…]\neal secrets with\n.secrets.baseline unchanged.\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n---------\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "refactor(plugins): replace in-tree sql_sanitizer with cpex-sql-saniti…",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-30T08:37:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "75e9ccc01de7e2b61b41b3dfa16699e41f379689",
"body": "* fix: harden REST tool outbound validation\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n* test: align REST validation coverage\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n* test: cover outbound validation branches\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com\n[…]\ne in URL validation\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\nCo-authored-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "fix: harden REST tool outbound validation (#5925)",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-29T15:03:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e38a9ce853634ce0ec99f82dc1c17385c8a3b7ec",
"body": "The OAuth Dynamic Client Registration management endpoints gated only on\nthe `is_admin` flag and ignored the `token_teams` narrowing carried by\nscoped tokens. A team-narrowed admin API token could therefore list, read,\nand delete globally-stored `RegisteredOAuthClient` records outside its\nintended t\n[…]\nso interactive Admin UI access is unchanged.\n\nCloses GHSA-gj7g-7r6g-jc8v\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-29T12:47:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4a2d41f530892f51c48ad1d5930362eed72d4c71",
"body": "* fix: use opaque dataplane subject ids\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n* fix: resolve uuid jwt subjects for auth contexts\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n* fix: preserve public-only jwt fallback\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gma\n[…]\ncom>\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix: use opaque dataplane subject ids (#5708)",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-29T09:54:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eb1e212bbab90bbcdb410d5b577eac27bf677b03",
"body": "* feat: added user_email to a2a_service\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n* fixup: .secrets.baseline\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n* feat: added user_email to a2a_service test\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n* feat: addressed flagg\n[…]\ner gap\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n* fixup: diff-cover\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n---------\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "fix(security): harden A2A admin edit authorization (#5922)",
"author_name": "Lang-Akshay",
"author_login": "Lang-Akshay",
"committed_at": "2026-07-28T15:28:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9232a1c81cf732097960e8d04da68c1eb0663d05",
"body": "* feat(api): support popup-based authorization flow for React UI\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Increase test coverage\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Document changes\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Code cleanup + tests\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Address comments\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n---------\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "feat(api): support popup-based authorization flow for React UI (#5661)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-28T15:16:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25db32696c4fac05d76daad758bddbaa9fa287e0",
"body": "…licts (#5920)\n\n* fix(resources): show specific message for duplicate resource URI conflicts\n\nCreating a resource with a URI that already exists surfaced in the Admin UI\nas \"Failed to add Resource (HTTP 409)\" with no indication of the offending\nfield. Two independent defects each produced that strin\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(resources): show specific message for duplicate resource URI conf…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-28T14:24:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "080ef7e6d12048dc204c78859052db628f2002ff",
"body": "…isleading 403 (#5917)\n\n* fix(csrf): return 401 for unauthenticated write requests instead of misleading 403\n\nUnsafe-method requests with no Authorization header and no auth cookie\nfell into the CSRF-missing rejection before reaching the auth layer,\nreporting 403 CSRF_TOKEN_INVALID instead of 401 Au\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(csrf): return 401 for unauthenticated write requests instead of m…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-28T14:23:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0d6aef010002ce0f95cc6cd33d1af9f6724bbef9",
"body": "* fix(admin-ui): fix CSRF failures on LLM Settings writes\n\nLLM Settings provider/model mutations 403'd under CSRF_ENABLED=true for\ntwo reasons.\n\nllmModels.js built request headers by hand and never attached\nX-CSRF-Token. Route all state-changing calls through a shared header\nbuilder that attaches th\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(admin-ui): fix CSRF failures on LLM Settings writes (#5780)",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-28T13:07:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e1bbc75427f60e5e7ba2e300d5418704878a2b3f",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix-test-waits (#5927)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-28T12:40:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8bb5f5a7245c017248b12f8f037c2cbf3cc9adce",
"body": "* chore: update python dependencies\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* update-dependency-review.yml exclusion\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* removed prospector\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* fixed agent\n[…]\n\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "chore: update python dependencies (#5919)",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-28T10:59:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1b555bc4e5360db2ecb010f92320a0519485103f",
"body": "Signed-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "ci: create .env before compose-up in prod smoke check (#5923)",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-28T10:45:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f3aa175b8b31f725070c69cfed1ba0ffbdc5eda",
"body": "* fix: tighten root handling\nAdd stricter root URI validation and scoped admin gating.\nUpdate related config, import/export paths, and regression tests.\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n* fixed the pre-commit\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n* fix: remediate root se\n[…]\n fixed review comments\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n* fixed pre-commit\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "Jitesh Nair",
"author_login": "ja8zyjits",
"committed_at": "2026-07-28T09:00:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2348a25f308477db2fff5442de2420eec2f11cd3",
"body": "… (#5790)\n\n* fix(llmchat): allow any worker to resume LLM Chat sessions from Redis\n\nPOST /llmchat/connect on one gunicorn worker followed by POST\n/llmchat/chat landing on another worker returned 400 \"No active\nsession found\", even with CACHE_TYPE=redis configured. Redis already\nstores ownership, con\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(llmchat): allow any worker to resume LLM Chat sessions from Redis…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-27T17:45:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bf9130a5084a5c8de1e72095e7afbe53e5a33379",
"body": "* Fix redis connection leak\n\nSigned-off-by: Aidan Butler <aidbutlr@ie.ibm.com>\n\n* Fix redis connection leak\n\nSigned-off-by: Aidan Butler <aidbutlr@ie.ibm.com>\n\n* Reworked fix to avoid test execution hanging\n\nSigned-off-by: Aidan Butler <aidbutlr@ie.ibm.com>\n\n* Added log message and unit tests to cov\n[…]\n.m@ibm.com>\n\n---------\n\nSigned-off-by: Aidan Butler <aidbutlr@ie.ibm.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "Fix redis connection leak (#5711)",
"author_name": "aidbutlr",
"author_login": "aidbutlr",
"committed_at": "2026-07-27T15:32:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "91f8920c2be2d8cf24c1c831fe3bc3903fef3ed9",
"body": "…#5840)\n\nThe MCP Python SDK v2 stable release (targeted 2026-07-27/28) is a major\nrework with pervasive breaking changes (FastMCP rename, mcp.types split,\nWebSocket transport removal). Upstream guidance is to add a <2 upper bound\nbefore the release. Bound every first-party manifest and regenerate uv\n[…]\nlock;\nresolution stays on the 1.28.x line. fastmcp needs no change: its own mcp\ndependency is intersected with our direct <2 pin.\n\nCloses #5839\n\nSigned-off-by: Ahmad Al Tamimi <altamimi.dev@gmail.com>",
"is_bot": false,
"headline": "chore: pin mcp>=1.28.1,<2 ahead of MCP Python SDK v2 stable release (…",
"author_name": "Ahmad Al Tamimi",
"author_login": "Altamimi-Dev",
"committed_at": "2026-07-27T12:51:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3fe3035e46f5079798766db83203bb892bf3fef7",
"body": "…auth (#5802)\n\n* fix(mcp): resolve session-token sub UUID to email in streamable-HTTP auth\n\nSession tokens issued by /admin/login carry `sub` as the EmailUser.id UUID,\nwhile legacy/API tokens carry the email. The MCP streamable-HTTP auth path\ntreated `sub` as an email unconditionally, so the user lo\n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(mcp): resolve session-token sub UUID to email in streamable-HTTP …",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-27T10:34:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "328f9508b8f06e33b5cc29977942862cc0fb7eff",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix: Force install of rollup fallback on s390x (#5836)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-27T10:12:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d08ba5dde46753ef6861b5592ebe941c3e04bbe",
"body": "…5668)\n\n* fix(search): token-scope team results for admins in unified search\n\nComplements the non-admin team-scope fix: the admin branch of\nadmin_search_teams returns all teams (the admin management view) and ignored\ntoken scope, so an admin using a token explicitly narrowed to a team subset\nstill s\n[…]\nt_teams(team_ids=[...]) restricts results in the query; None = no filter.\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>",
"is_bot": false,
"headline": "fix(search): token-scope team results for admins in unified search (#…",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-27T09:11:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4ed6b014289b7a7d0c840b2fad22e57f6332fbff",
"body": "* ci: add compose production smoke check\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* ci: collect logs and tear down all compose profiles in smoke check\n\nDiagnostics (ps/logs) and the final compose-down ran without profile\nflags, so profile-only containers (with-fast-ti\n[…]\ny, keeping `up` starting one stack at a time.\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n---------\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "ci: add compose production smoke check (#5756)",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-24T16:42:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6582992fa9345b971c8ea492ad0ff26fad53487d",
"body": "* chore: fix pip-audit\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* edited change.log\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* added changes to changelog\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* fix detect secrets\n\nSigned-off-by: pr\n[…]\nprakhar.singh1928@ibm.com>\n\n* added warning comment for pip-audit\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "chore: fix pip-audit (#5787)",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-24T16:42:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a6e156e4ec0003c68380d78b5e734875cc70f500",
"body": "…ng, agent docs, ignore files (#4453)\n\n* docs: add PR review workflow to AGENTS.md with cycle tracker template\n\nCodify the fixed-point review loop (review → fix → loop until zero blocking\nfindings), rebase recipe with conflict policy, scope verification against\nlinked issues, and the 6-step pre-merg\n[…]\nr.m@ibm.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "chore: developer tooling housekeeping — git hooks, secrets-scan tooli…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-24T12:49:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7e09928bcfa63d4e26e99d0aee875204d49d73be",
"body": "* update documentation for pgo deployment of contextforge on openshift\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\n\n* Update section headings for better organization\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\n\n* add verification of success steps\n\nSigned-off-by: Claudia Gray \n[…]\nm.com>\n\n---------\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "Docs/5693 update ocp pgo documentation (#5749)",
"author_name": "Claudia Gray",
"author_login": "claudia-gray",
"committed_at": "2026-07-24T12:08:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "534b9d2d5e785d56b1938affd5b2b15892d290ea",
"body": "…r startup (#5808)\n\n* fix(docker-compose): restore gateway HOST binding and fast-time-server startup\n\n- gateway: add HOST=${GATEWAY_HOST:-0.0.0.0} so the container binds all\n interfaces and other containers can reach it (lost in the Granian\n removal)\n- fast_time_server: drop removed Go CLI flags (\n[…]\nngh1928@ibm.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\nCo-authored-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "fix(docker-compose): restore gateway HOST binding and fast-time-serve…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-24T10:14:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3d538c74ac43188f6d2c6b6a28f6e1e86c7239f4",
"body": "* fix(auth): enforce safe admin demotion rules\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* chore: updating .env.example file\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* feat: code cleanup\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* feat: addressing \n[…]\ngar <vishu.bhatnagar@ibm.com>\n\n* chore: normalize formatting after rebase\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n---------\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>",
"is_bot": false,
"headline": "fix(auth): enforce safe admin demotion rules (#5644)",
"author_name": "Vishu",
"author_login": "vishu-bh",
"committed_at": "2026-07-24T10:05:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5a877402371e7f57b648dbd8f1dbbeab5cfa4a4a",
"body": "…) (#5809)\n\nThe Docker Security Scan merge-queue gate (Grype, severity-cutoff high)\nfails on CVE-2026-6477 in libpq 16.11-3.el10_1, shipped by the runtime\nstage's ubi10/ubi-minimal:10.2-1784581369 base. Red Hat has since\npublished libpq-16.14-1.el10_2 with the fix, but the pinned dated tag\npredates \n[…]\n --only-fixed --fail-on high flags the CI job uses - clean, no\nfindings.\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(docker): bump UBI_MINIMAL to pick up patched libpq (CVE-2026-6477…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-24T09:57:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "39414432a803090efa51acc6c506daba77d5d30c",
"body": "* fix detect secrets\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* fix linting\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* Fix plugin integration tests\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "fix detect secrets (#5788)",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-23T16:12:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a37adccdce426c4ee4d971867f4f1a973af5ed1",
"body": "* fix: harden JWT secret enforcement, remove hardcoded secrets, add startup validation (GHSA-8pcq-mx48-hjvj)\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* added init_secrets options for dev\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* restored changelog\n- addre\n[…]\nkhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* removed e2e harness\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-23T13:16:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a86d68ac38af8e87c05438b68f1484477e562d3f",
"body": "… counter on recovery (#4862)\n\n* fix: increase health check timeout from 5s to 30s and reset failure counter on recovery\n\nRoot cause: 24x timeout mismatch between periodic health checks (5s)\nand Test button (120s) caused false 'Offline' status for slow gateways.\n\nChanges:\n- mcpgateway/config.py: hea\n[…]\nitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Mohan Lakshmaiah <mohan.economist@gmail.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "[FIX]: Increase health check timeout from 5s to 30s and reset failure…",
"author_name": "Mohan Lakshmaiah",
"author_login": "MohanLaksh",
"committed_at": "2026-07-23T12:58:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5713c1a4bc8c1f4f43320d1ebb75cde6c952da4d",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix: Vite rollup fallback on s390x (#5779)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-23T10:59:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0ed2f38fe6e53b0de3e12e99f6b86660a916519",
"body": "Signed-off-by: lucarlig <luca.carlig@ibm.com>",
"is_bot": false,
"headline": "chore(deps): bump cpex-secrets-detection to 0.3.10 (#5775)",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-23T10:53:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77805b88b62654938f94fc3c39024de623e0a3ee",
"body": "…#4636)\n\n* initial commit\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@yahoo.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n* fix\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@yahoo.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n* down revivion\n\nSigned-off-by: Rakh\n[…]\nar.m@ibm.com>\nSigned-off-by: Rakhi Dutta <rakhidutta@users.noreply.github.com>\nCo-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(rbac): add unique constraints for role/user_role race (#4482) (…",
"author_name": "rakdutta",
"author_login": "rakdutta",
"committed_at": "2026-07-23T10:33:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cb58076cbbca34953f92fa7de8de78236d16777b",
"body": "* chore: remove obsolete redis_fallback config references\n\nSigned-off-by: Yosief Eyob <yosiefogbazion@gmail.com>\n\n* test: address review on config-validation guard (anchor path, assert constructed)\n\nSigned-off-by: Yosief Eyob <yosiefogbazion@gmail.com>\n\n* fixed pre-commit\n\nSigned-off-by: Yosief Eyob <yosiefogbazion@gmail.com>\n\n* fixed pre-commit\n\nSigned-off-by: Yosief Eyob <yosiefogbazion@gmail.com>\n\n---------\n\nSigned-off-by: Yosief Eyob <yosiefogbazion@gmail.com>",
"is_bot": false,
"headline": "chore: remove obsolete redis_fallback config references (#5645)",
"author_name": "Yosiefeyob",
"author_login": "Yosiefeyob",
"committed_at": "2026-07-23T10:00:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "666bfbfa54db2722cee9257dcfa3f9133d7b1d83",
"body": "* refactor: remove Granian HTTP server option\n\nGranian (Rust-based ASGI server) is removed as an HTTP server option.\nGunicorn with Uvicorn workers is now the sole server.\n\nCode & build:\n- Delete run-granian.sh (420 lines)\n- Remove granian pip extra from pyproject.toml\n- Drop granian from Containerfi\n[…]\nssey <brian.hussey@ie.ibm.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\nCo-authored-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "refactor: remove Granian HTTP server option (#5607)",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-22T18:50:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "757d899e018635df8807dee0fe8293057b2bc71f",
"body": "* feat(teams): support bulk member creation in TeamCreateRequest\n\nSigned-off-by: Marek Dano <Marek.Dano@ibm.com>\n\n* fix(lint): suppress W0201 false positives on SQLAlchemy column assignments in _upsert_membership\n\nSigned-off-by: Marek Dano <Marek.Dano@ibm.com>\n\n* fix: normalise seed email to lowerca\n[…]\n<Marek.Dano@ibm.com>\n\n* fix: secrets baseline\n\nSigned-off-by: Marek Dano <Marek.Dano@ibm.com>\n\n---------\n\nSigned-off-by: Marek Dano <Marek.Dano@ibm.com>\nCo-authored-by: Marek Dano <Marek.Dano@ibm.com>",
"is_bot": false,
"headline": "feat(teams): support bulk member creation in TeamCreateRequest (#5626)",
"author_name": "Marek Dano",
"author_login": "marekdano",
"committed_at": "2026-07-22T14:11:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0fbf79404ac2782460e5b00146b929116a2544ba",
"body": "…s (#5244)\n\n* fix: resolve authorization_code OAuth gateway offline issues\n\nFix bug #5237 where authorization_code OAuth gateways would become\npermanently offline due to health check assumptions and destructive\ntoken handling.\n\nChanges:\n- Decouple health checks from token ownership for authorization\n[…]\njiteshnair@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nCo-authored-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix(gateways): resolve authorization_code OAuth gateway offline issue…",
"author_name": "Bogdan-Marius Cătănuș",
"author_login": "bogdanmariusc10",
"committed_at": "2026-07-22T14:09:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7a22fa442ed90df030ba47287b0812354919e2d2",
"body": "* Fixed lint\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* Added skip check\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* Corrected tags\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* added correct version\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* Addressed review issues\n\n\n[…]\ndia Gray <claudiag082004@gmail.com>\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\nCo-authored-by: Claudia Gray <claudiag082004@gmail.com>\nCo-authored-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "fix(helm): resolve Helm chart linting issues (#5269)",
"author_name": "__cafa__",
"author_login": "cafalchio",
"committed_at": "2026-07-22T13:48:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3fcca8841a9a8daf74f73ca6a201f1275cd5ea78",
"body": "* Add v1 catalog API\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* fix: removing duplicate endpoint\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n---------\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>",
"is_bot": false,
"headline": "Add v1 catalog API (#5544)",
"author_name": "Vishu",
"author_login": "vishu-bh",
"committed_at": "2026-07-22T13:35:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "471cb044c8f495b0c40bc36f0e7c19693a9d25b3",
"body": "…5610)\n\n* feat(search): add versioned GET /v1/search unified search endpoint\n\nExpose unified cross-entity search at a stable, versioned, non-admin path\nso client-facing global search no longer depends on GET /admin/search, which\nis gated on admin.dashboard and slated for deprecation.\n\n- Extract the \n[…]\nwith\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n# pragma: allowlist secret per the repo convention for Python files.\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>",
"is_bot": false,
"headline": "feat(search): add versioned GET /v1/search unified search endpoint (#…",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-22T13:35:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "921c7e907db01aa4b85b210984fa3958e42bd4f5",
"body": "* ci: enable all arch build for workflow_dispatch manual trigger\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* ci: restrict ppc64le build to workflow_dispatch only\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* ci: fix null coercion, stale comments and wheels gate robustness\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n---------\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "ci: enable all arch build for workflow_dispatch manual trigger (#5751)",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-22T12:08:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d24df05e7985787bfa3264ab45cee411e308a111",
"body": "* bump-version 1.0.5 -> 1.0.6 / update ubi packages\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* Updated rust aand js\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* Removed ui static from pyproject.toml\n\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\n\n* Ran pre-commit\n\nSign\n[…]\nalchio@gmail.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\nSigned-off-by: cafalchio <mcafalchio@gmail.com>\nCo-authored-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "Release/v1.0.6 (#5738)",
"author_name": "__cafa__",
"author_login": "cafalchio",
"committed_at": "2026-07-21T16:58:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ec8a728014edb994ef4f685cf7f2e6ee32136a47",
"body": "* Update roadmap for 1.0.6\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n* uplifted the ubi10 base image tagg\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "Update roadmap for 1.0.6 (#5710)",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-21T11:03:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc421803418c0a5f8f696ccaa86a38c35c3f24b6",
"body": "…FK deletes (#5659)\n\n* fix(api): use savepoint for personal team cascade delete and reorder FK deletes\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* code quality improvements\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n---------\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix(api): use savepoint for personal team cascade delete and reorder …",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-20T12:30:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "528577b95ffa14f03ef45e1e4ad8f8a24e1adf4d",
"body": "* fix(auth): unify email extraction across all resource operations\n\nReplaced 23 instances of inconsistent email extraction patterns with\ncanonical get_user_email() helper to ensure email-over-sub precedence\nacross all resource CRUD operations.\n\nProblem: Resource update/delete operations used direct \n[…]\nr.m@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "fix(auth): unify email extraction across all resource operations (#4821)",
"author_name": "Bogdan-Marius Cătănuș",
"author_login": "bogdanmariusc10",
"committed_at": "2026-07-20T11:43:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "01b20b1c05917178488873103c1f44599e122a6b",
"body": "* fix: return 404 for missing server and gateway deletes\nPreserve 403 for denied ownership and direct scoped callers.\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n* fixed the pre-commit\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n* fixed the comments\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix: return 404 for missing server and gateway deletes (#5672)",
"author_name": "Jitesh Nair",
"author_login": "ja8zyjits",
"committed_at": "2026-07-20T11:20:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7c6d44e9bc466049f5cdb325c751b04cbd27bcf",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "fix(ui): Add static assets to CSS bundle (#5705)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-20T09:49:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77d99dfd7f009c92b65c03650f0dc26a5fbebd72",
"body": "…ion errors (#5663)\n\n* fix(transport,middleware): remove manual Content-Length headers causing compression errors\n\nFixes #5457\n\nWhen compression is enabled (COMPRESSION_ENABLED=true), manually setting\nContent-Length headers before the compression middleware runs causes\n\"Too much data for declared Co\n[…]\n>\n\n---------\n\nSigned-off-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>",
"is_bot": false,
"headline": "fix(transport): remove manual Content-Length headers causing compress…",
"author_name": "Jitesh Nair",
"author_login": "ja8zyjits",
"committed_at": "2026-07-20T09:48:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "050cfa2988aac67b4a578f45902318a4d15c7f07",
"body": "…touched file to then become pyright compliant (#5703)\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "Disable pyright, this had an unintended consequence of requiring any …",
"author_name": "Brian Hussey",
"author_login": "brian-hussey",
"committed_at": "2026-07-20T09:31:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eece0fc91b560add83ccf8efc86f4312c5c76cd",
"body": "…rget (#5634)\n\n* ci(pyright): add PR-scoped type check workflow and pyright-pr make target\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* ci(pyright): move pyright check into linting-full workflow\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* \n[…]\nonfig.json into pyproject.toml [tool.pyright]\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n---------\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "ci(pyright): add PR-scoped type check workflow and pyright-pr make ta…",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-17T14:24:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "186abb91a9a9f61f93ba00b64a2c52f6b90447a8",
"body": "Signed-off-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "Update python call in fix file headers pre-commit to use uv run (#5669)",
"author_name": "Brian Hussey",
"author_login": "brian-hussey",
"committed_at": "2026-07-17T13:20:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50602d6dc1c217ed60f7ac070f2a5210f53181a2",
"body": "* fix cwe-117 improper output neutralization logs.\n\nSigned-off-by: AHERDERE <aherdere@ie.ibm.com>\n\n* cwe_117_improper_output_neutralization_logs\n\nSigned-off-by: AHERDERE <aherdere@ie.ibm.com>\n\n* fix cwe-117 improper output neutralization logs\n\nSigned-off-by: AHERDERE <aherdere@ie.ibm.com>\n\n* fix cwe\n[…]\n fix cwe-117 improper output neutralization logs\n\nSigned-off-by: AHERDERE <aherdere@ie.ibm.com>\n\n---------\n\nSigned-off-by: AHERDERE <aherdere@ie.ibm.com>\nCo-authored-by: AHERDERE <aherdere@ie.ibm.com>",
"is_bot": false,
"headline": "fix cwe-117 improper output neutralization logs. (#5441)",
"author_name": "aherd1",
"author_login": "aherd1",
"committed_at": "2026-07-17T11:56:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "098dc0ea19b0c568ba840e30a86b1d4101db77ed",
"body": "… (#5664)\n\n* fix(resources): revert resource name uniqueness constraint from #5158\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* chore: update .secrets.baseline line numbers\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* chore: update .secrets\n[…]\nate resource tests for name-uniqueness revert\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n---------\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>",
"is_bot": false,
"headline": "fix(resources): revert resource name uniqueness constraint from #5158…",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-17T08:41:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "633a182799f9d9257fc43ba9430778d5e3dc98db",
"body": "…… (#5637)\n\n* Update fix_file_headers to have generic default AUTHOR, defined COPYRIGHT line, and new line fix, and add pre-commit-config.yaml to execute the fix headers check as part of the pre-commit checks so that the author can see the changes\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.co\n[…]\n.hussey@ie.ibm.com>\n\n* Correct Makefile to not refer to authors for fix-headers\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\n\n---------\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "Update fix_file_headers to have generic default AUTHOR, defined COPYR…",
"author_name": "Brian Hussey",
"author_login": "brian-hussey",
"committed_at": "2026-07-16T16:22:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7b17f124bec1c46a94ab0d619c9727493236dffa",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "test: Fix pw test (#5653)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-16T14:48:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7dbe41d1ee02dbcea2934dd847eff7d66f7c1736",
"body": "Signed-off-by: Pratik Gandhi <gandhipratik203@gmail.com>",
"is_bot": false,
"headline": "Update SecretsDetection field filter config (#5635)",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-16T14:28:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f34d7a68c647c714be33a0e62f4caec9d0c03fd",
"body": "… test endpoint (#5023)\n\n* fix: respect global ssrf_protection_enabled flag in gateway test endpoint\n\nThe /admin/gateways/test endpoint was unconditionally blocking private IPs\nregardless of the global ssrf_protection_enabled configuration flag. This\ncreated inconsistency with other endpoints and pr\n[…]\nan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\n\n---------\n\nSigned-off-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>\nCo-authored-by: Bogdan-Marius-Catanus <bogdan-marius.catanus@ibm.com>",
"is_bot": false,
"headline": "fix(security): respect global ssrf_protection_enabled flag in gateway…",
"author_name": "Bogdan-Marius Cătănuș",
"author_login": "bogdanmariusc10",
"committed_at": "2026-07-16T14:19:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d302a5a4abf73b0c5f5beef7cca2402dbc26fe53",
"body": "…admin (#5647)\n\nThe pre-seeded Keycloak test user was configured with email\nadmin@example.com, identical to the default PLATFORM_ADMIN_EMAIL value\nin .env.example. On SSO login, resolve_session_teams() looks up the\nlocal user record by email and would find the built-in admin entry,\nsilently granting\n[…]\n admincf@example.com in\ninfra/keycloak/realm-export.json and update the matching reference in\nthe Keycloak SSO tutorial doc.\n\nCloses #5542\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "fix: rename Keycloak test user to avoid email collision with default …",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-16T14:15:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "444bb744fa36d48ff6711cace7d181a7fe182465",
"body": "…rom change-password-required.html (#5646)\n\n* fix(templates): remove CSP-violating airgapped Tailwind JS branch from change-password-required.html\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* added .secrets.baseline\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "chore(templates): remove CSP-violating airgapped Tailwind JS branch f…",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-16T14:14:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3efce136d0e0af0e742a063061daa607dbeee6d6",
"body": "…check errors (#5654)\n\n* fix(services): rebuild fork-poisoned FileLock and back off on health-check errors\n\nGatewayService's FileLock is constructed once, before gunicorn --preload\nforks worker processes. Newer filelock releases detect reuse of a\npre-fork lock from a different PID and raise instead \n[…]\nigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\n\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(services): rebuild fork-poisoned FileLock and back off on health-…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-16T13:56:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dedfd8b2043b7bd6bcd228ad5ad12961aa95e205",
"body": "* fix: bind join requests to team context\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n* fix: align join request not found handling\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n* test: cover join request error branches\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n* fix: strengthen join request review handling\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n---------\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>",
"is_bot": false,
"headline": "Merge commit from fork",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-16T09:53:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e870427d8d1d28e6e57d801aaac6495d33e85051",
"body": "* docs: add generic MCP extension framework ADR\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* docs: align extension framework ADR with security governance\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n---------\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>",
"is_bot": false,
"headline": "docs: add generic MCP extension framework ADR (#5007)",
"author_name": "Vishu",
"author_login": "vishu-bh",
"committed_at": "2026-07-16T08:40:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c74d0eca0f2246dc079c9a6b07e6d489c6ac532",
"body": "…rker across instances (#5430)\n\n* feat(plugins): add redis backend for cross-instance primary-worker election\n\nAdds an opt-in Redis backend so a single primary can be elected across multiple\ngateway instances/replicas, not just per host. The default stays filelock\n(per-host), so existing single-host\n[…]\n203@gmail.com>\n\n* chore: reindex .secrets.baseline after rebase onto main\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>",
"is_bot": false,
"headline": "feat(plugins): restrict non-hook plugin initialization to a single wo…",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-15T20:10:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "378c40386007e3ac268d869425d38af3957ccef9",
"body": "…de dependabot (#5623)\n\n* Remove renovate json file and update security.md to include dependabot\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\n\n* Update security.md wording to be accurate\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\n\n---------\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>",
"is_bot": false,
"headline": "FIX(CHORE): Remove renovate json file and update security.md to inclu…",
"author_name": "Claudia Gray",
"author_login": "claudia-gray",
"committed_at": "2026-07-15T16:30:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26d46a9b073b8812d96989844d624148785211f6",
"body": "…s (#5611)\n\n* feat(plugins): extend S4 metrics allowlist for 5 new cpex-* plugins\n\nExtends _SAFE_STRING_FIELD_NAMES / _SAFE_NUMERIC_FIELD_NAMES so\nsecrets_detection, encoded_exfil_detection, url_reputation, rate_limiter,\nand retry_with_backoff metrics fields survive sanitization instead of\nbeing sil\n[…]\n---------\n\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh12.dmm@gmail.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "feat(plugins): consume metrics from 5 remaining bundled cpex-* plugin…",
"author_name": "msureshkumar88",
"author_login": "msureshkumar88",
"committed_at": "2026-07-15T15:54:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "79f7d0fba03387666b26504700af01bc77a64f0a",
"body": "…s/{tool_id} (#5314)\n\n* fix(schemas): extend ToolCreate/ToolUpdate assemble_auth to handle auth_headers array for authheaders auth type\n\nSigned-off-by: Shoumi <shoumimukherjee@gmail.com>\n\n* fix tests\n\nSigned-off-by: Shoumi <shoumimukherjee@gmail.com>\n\n* chore: update .secrets.baseline line numbers a\n[…]\nail.com>\nSigned-off-by: Marek Dano <Marek.Dano@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Marek Dano <Marek.Dano@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix(schemas): persist auth_headers array in POST /tools and PUT /tool…",
"author_name": "Shoumi M",
"author_login": "shoummu1",
"committed_at": "2026-07-15T15:53:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2ccb4f58885d860b9eb3d5a1668fd3de43523588",
"body": "* Fix playwright tests\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Adress comments\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Fix some more failing tests\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Address comments\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Address comments\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n---------\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "Fix playwright tests (#5625)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-15T15:14:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a4252446d931aa93f2331d596311d32c131ec45",
"body": "… connections (#4724)\n\n* fix(redis): raise maxclients from 10K to 30K to support 10 replicas. (#4630)\n- Update maxclients to 30,000 in all docker-compose files\n- Add redis.maxclients configuration to Helm chart (values.yaml, schema, configmap)\n- Update capacity formula comments: replicas × workers ×\n[…]\n* fix dead anchor in configuration.md, add helm-unittest for deployment-redis\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>\n\n---------\n\nSigned-off-by: Claudia Gray <claudiag082004@gmail.com>",
"is_bot": false,
"headline": "FIX(REDIS): Raise maxclients from 10000 to 15000 and reduce redis max…",
"author_name": "Claudia Gray",
"author_login": "claudia-gray",
"committed_at": "2026-07-15T15:04:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "48b1efe3d9e8e712cdb7562dcb487e9a79486eb7",
"body": "…ts that run on Go (#5596)\n\n* fix: remove premature exit in Containerfile and restore Go linting targets\n\n- Containerfile: Remove stray \"exit 0\" inside the ENABLE_RUST=false\n fallback block that caused a buildkit warning and would short-circuit\n the build when ENABLE_RUST=true with a trailing back\n[…]\n0x.com>\n\n* Remove LINT_GO_TOOLCHAIN\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\n\n---------\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>\nCo-authored-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "fix: remove premature exit in Containerfile and restore linting targe…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-15T14:50:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6a5ca58ddbe181b00813a456df008e39dc1da6cf",
"body": "…s (#5515)\n\nThe compliance virtual_server fixture connected to /servers/{id}/mcp\nimmediately after creation. On split deployments that route is served\nfrom asynchronously published dataplane config, so early gateway_virtual\nrows failed with 404/400 before the first snapshot landed. Probe the\nroute until it accepts (75s deadline, one default publish interval plus\nslack); control-plane-only deployments return on the first probe.\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>",
"is_bot": false,
"headline": "test: wait for per-server route before compliance gateway_virtual run…",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-15T14:33:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1500d8692a833b6ce4e1d4f3807a2866fdc3599a",
"body": "…(#5622)\n\n* Update secrets and reset some of content from .secrets.baseline file\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\n\n* Updates with linting formatting\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\n\n* Update to pass grype issues with container build\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>\n\n---------\n\nSigned-off-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "Update secrets and reset some of content from .secrets.baseline file …",
"author_name": "Brian Hussey",
"author_login": "brian-hussey",
"committed_at": "2026-07-15T13:20:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "992e6926aaf4f9c846b15ba10255ccf0a8f84239",
"body": "Signed-off-by: lucarlig <luca.carlig@ibm.com>",
"is_bot": false,
"headline": "feat: publish dataplane resource uris and capabilities (#5588)",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-14T15:53:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91b582f1845d423ca9004106875547c6cd8bb9ba",
"body": "* fix(output-length-guard): enforce limits on resource.text in content array\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* test(output-length-guard): fix always-skipped double-truncation test\n\nSigned-off-by: Madhu Mohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\n\n* test\n[…]\nMohan Jaishankar <madhu.mohan.jaishankar@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "Fix/output length guard resource bypass (#5619)",
"author_name": "madhu-mohan-jaishankar",
"author_login": "madhu-mohan-jaishankar",
"committed_at": "2026-07-14T14:47:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db336492659fc389ea0cf15429631b736b598606",
"body": "* test: retry live RBAC per-server access\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n* feat: make dataplane publisher snapshot interval configurable\n\nThe dataplane publisher interval was a hardcoded 60s module constant,\nso runtime-created users and servers stayed invisible to the dataplane\nfor \n[…]\nm.com>\n\n* chore: refresh secrets baseline\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n---------\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\nCo-authored-by: Lang-Akshay <akshay.shinde26@ibm.com>",
"is_bot": false,
"headline": "test: retry live RBAC per-server access (#5482)",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-14T14:13:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4873c4c186f3f8b7af6daa40af4252fe690c92bf",
"body": "…otifications now relayed (#5603)\n\nThe POST-correlated notification relay fix closes GAP-001 (server-initiated\nlog notifications) and GAP-002 (progress notifications) on gateway_proxy\nand gateway_virtual targets.\n\n- Remove xfail_on from test_log_message_reaches_client and\n test_progress_notifications_delivered\n- Move GAP-001 and GAP-002 to Closed gaps in COMPLIANCE_GAPS.md\n- Update GAP-011 cross-reference to exclude closed gaps\n\nSigned-off-by: Jonathan Springer <jps@s390x.com>",
"is_bot": false,
"headline": "test(protocol): remove xfail for GAP-001/GAP-002 — log and progress n…",
"author_name": "Jonathan Springer",
"author_login": "jonpspri",
"committed_at": "2026-07-14T13:57:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fc997ef988383eb81f56568ae21ba2cc785ce8f",
"body": "* feat: add MCP Apps extension substrate\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* docs: document MCP Apps extension substrate\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n* fix: linearize MCP Apps migration\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n\n[…]\nr <vishu.bhatnagar@ibm.com>\n\n* chore: finalize MCP Apps branch validation\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>\n\n---------\n\nSigned-off-by: Vishu Bhatnagar <vishu.bhatnagar@ibm.com>",
"is_bot": false,
"headline": "feat: add MCP Apps support (#5079)",
"author_name": "Vishu",
"author_login": "vishu-bh",
"committed_at": "2026-07-14T13:30:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d354ab62da210ec7357745287aebbd6253e9e7a7",
"body": "Signed-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "hotfix: ppc & s390x CSS builds (#5620)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-14T12:52:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa7a35de25ac6a4c1b82371143ee4f17acfb1795",
"body": "* Fix templated resource proxy reads\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n* fix: address templated resource review feedback\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\n\n---------\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>",
"is_bot": false,
"headline": "Fix templated resource proxy reads (#5569)",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-14T11:27:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3f06618512a2161d3cbb90beeaef9d9c0f2bfedb",
"body": "* Package all js libs\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Compress (gzip) bundle\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Divide JS into chunks\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Edit docs\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Rem\n[…]\ne>\n\n* Rebase\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n* Fix failing tests\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\n\n---------\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>",
"is_bot": false,
"headline": "Package all js libs (#5481)",
"author_name": "Gabriel Costa",
"author_login": "gcgoncalves",
"committed_at": "2026-07-14T10:56:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6703151eac5c8825d36ecb24c8a3a0a3f4688f2f",
"body": "* fix(a2a): pass allowlisted headers to tool pre-invoke hooks\n\nSigned-off-by: King Star <mcxin.y@gmail.com>\n\n* docs: cover A2A passthrough headers\n\nSigned-off-by: King Star <mcxin.y@gmail.com>\n\n* fix(a2a): keep sensitive headers out of tool hooks\n\nSigned-off-by: King Star <mcxin.y@gmail.com>\n\n* fix(\n[…]\nh headers\n\nSigned-off-by: King Star <mcxin.y@gmail.com>\n\n* test(a2a): use complete plugin results\n\nSigned-off-by: King Star <mcxin.y@gmail.com>\n\n---------\n\nSigned-off-by: King Star <mcxin.y@gmail.com>",
"is_bot": false,
"headline": "fix(a2a): pass safe headers to tool pre-invoke hooks (#4925)",
"author_name": "King Star",
"author_login": "jstar0",
"committed_at": "2026-07-14T10:42:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2fd6b8997eb1fb9675457002fb8bd839f2742f13",
"body": "…ce name (#5158)\n\n* fix: show meaningful 409 message for duplicate resource name\n\nSigned-off-by: Shoumi <shoumimukherjee@gmail.com>\n\n* fix: address regressions in resource name conflict handling\n\nSigned-off-by: Shoumi <shoumimukherjee@gmail.com>\n\n* fix: resolve lint, alembic branch, and diff-cover f\n[…]\numar Moharajan <suresh.kumar.m@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix(resources): show meaningful conflict message for duplicate resour…",
"author_name": "Shoumi M",
"author_login": "shoummu1",
"committed_at": "2026-07-14T02:19:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d377dedcd386eab4e6698681b06b3b1e05ef915f",
"body": "* refactor(csp): modernize Content Security Policy configuration\n\nUpdate CSP headers to follow modern web standards and best practices.\nMigrate from Tailwind CDN to precompiled CSS for improved performance\nand compatibility with CSP Level 3 recommendations.\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@y\n[…]\n\nSigned-off-by: Gabriel Costa <gabrielcg@proton.me>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Gabriel Costa <gabrielcg@proton.me>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "Modernize Content Security Policy Configuration (#5111)",
"author_name": "rakdutta",
"author_login": "rakdutta",
"committed_at": "2026-07-13T23:47:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "da7971d1e20262f31cad6dea33ccecff368c9a2d",
"body": "…ker (#5406)\n\n* feat(plugins): elect a single primary worker for non-hook plugin init\n\nUnder multiple worker processes (gunicorn workers > 1) every worker loads\nthe plugin manager and runs each plugin's initialize(). A non-hook plugin\nthat performs a side effect on startup or in a background task th\n[…]\n: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Pratik Gandhi <gandhipratik203@gmail.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix(plugins): restrict non-hook plugin initialization to a single wor…",
"author_name": "Pratik Gandhi",
"author_login": "gandhipratik203",
"committed_at": "2026-07-13T22:06:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "55a677f45ec67061a1eba027d4a17d4150ff3d74",
"body": "* updated python dependencies\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* updated uv.lock/pyproject.toml\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "chore:updated python dependencies (#5605)",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-13T15:40:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "808b1f93c1ded2d0654ed5353f69d44b7c8961e1",
"body": "* fix(dataplane_publisher): publish streamable-HTTP backends only\n\nThe dataplane proxies streamable-HTTP upstreams only; publishing other\ntransports (e.g. SSE, deprecated and removed in the 2026-07-28 MCP\nprotocol update) advertised backends it cannot serve, which surfaced as\nsuccessful tools/list r\n[…]\ngned-off-by: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: lucarlig <luca.carlig@ibm.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "fix(dataplane_publisher): publish streamable-HTTP backends only (#5519)",
"author_name": "Luca",
"author_login": "lucarlig",
"committed_at": "2026-07-13T15:22:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d6eb379b905cd6aefced1306008a2261ec1dbbf3",
"body": "…od restart (#5003)\n\n* fix(bootstrap): Serialize fast-path bootstrap helpers with advisory lock to prevent race conditions (fixes #4993)\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@yahoo.com>\n\n* test: Add automated test script for issue #4993 race condition fix\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@\n[…]\noff-by: Jitesh Nair <jiteshnair@ibm.com>\n\n---------\n\nSigned-off-by: Rakhi Dutta <rakhibiswas@yahoo.com>\nSigned-off-by: Jitesh Nair <jiteshnair@ibm.com>\nCo-authored-by: Jitesh Nair <jiteshnair@ibm.com>",
"is_bot": false,
"headline": "PR: Fix bootstrap_resource_assignments race condition on concurrent p…",
"author_name": "rakdutta",
"author_login": "rakdutta",
"committed_at": "2026-07-13T13:59:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dc429d9181675f00eca959bf7261764ecabb392a",
"body": "…gateway registration (#5601)\n\n* fix: add SSRF protection tests for OAuth redirect_uri and jwks_uri\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n* fix: refactor token request handling in OAuthManager to use dedicated method\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\n\n---------\n\nSigned-off-by: Lang-Akshay <akshay.shinde26@ibm.com>\nCo-authored-by: Brian Hussey <brian.hussey@ie.ibm.com>",
"is_bot": false,
"headline": "fix(security): validate all oauth_config URLs to prevent SSRF during …",
"author_name": "Lang-Akshay",
"author_login": "Lang-Akshay",
"committed_at": "2026-07-13T12:50:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ee562f5a993b8fd427191a2f0b848ca4e8fd5f2d",
"body": "* fix(grpc): enforce SSRF/TLS validation in GrpcEndpoint.start()\n\nCloses #4615\n\nSigned-off-by: Saurabh Maydeo <saurabhmaydeo@gmail.com>\n\n* test(grpc): cover start() TLS-path validation branches\n\nSigned-off-by: Saurabh Maydeo <saurabhmaydeo@gmail.com>\n\n* refactor(grpc): move shared SSRF/TLS validator\n[…]\n.com>\n\n---------\n\nSigned-off-by: Saurabh Maydeo <saurabhmaydeo@gmail.com>\nSigned-off-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>\nCo-authored-by: Suresh Kumar Moharajan <suresh.kumar.m@ibm.com>",
"is_bot": false,
"headline": "fix(grpc): enforce SSRF/TLS validation in GrpcEndpoint.start() (#5410)",
"author_name": "Saurabh Maydeo",
"author_login": "SaurabhMaydeo",
"committed_at": "2026-07-13T11:46:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cbc6c70e0776d2bf021b754364902d1bdbdee49b",
"body": "* chore: update-release documentation\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* fix ci failiures\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* fix conflict\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n* added auto uv-upsync script\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>\n\n---------\n\nSigned-off-by: prakhar-singh1928 <prakhar.singh1928@ibm.com>",
"is_bot": false,
"headline": "chore: update-release documentation (#5576)",
"author_name": "prakhar-singh1928",
"author_login": "prakhar-singh1928",
"committed_at": "2026-07-13T10:29:33Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 23,
"commits_last_year": 2223,
"latest_release_at": "2026-07-21T17:21:30Z",
"latest_release_tag": "v1.0.6",
"releases_from_tags": false,
"days_since_last_push": 1,
"active_weeks_last_year": 52,
"days_since_latest_release": 12,
"mean_days_between_releases": 17
},
"artifacts": {
"collected": true,
"structure": [
"tree.cargo_lib",
"tree.cargo_main",
"tree.compose",
"tree.dockerfile",
"tree.helm",
"tree.k8s",
"tree.migrations",
"tree.serverless"
],
"declarations": [
{
"name": null,
"path": "Cargo.toml",
"tokens": [
"cargo.workspace"
],
"ecosystem": "crates"
},
{
"name": "mcp-contextforge-gateway",
"path": "pyproject.toml",
"tokens": [
"pypi.console_scripts",
"pypi.classifier:Topic :: Software Development :: Libraries"
],
"ecosystem": "pypi"
}
]
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [
"github.com",
"shields.io"
],
"total": 13,
"header": 8,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "mcp-contextforge-gateway",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"MCP",
"API",
"gateway",
"proxy",
"tools",
"agents",
"agentic ai",
"model context protocol",
"multi-agent",
"fastapi",
"json-rpc",
"sse",
"websocket",
"federation",
"security",
"authentication",
"ai control plane",
"control plane",
"governance",
"observability",
"Development Status :: 4 - Beta",
"Framework :: AsyncIO",
"Framework :: FastAPI",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
"Topic :: Software Development :: Libraries :: Application Frameworks"
],
"ecosystem": "pypi",
"categories": [],
"matches_repo": true,
"registry_url": "https://pypi.org/project/mcp-contextforge-gateway/",
"declared_type": null,
"is_deprecated": false,
"latest_version": "1.0.6",
"repository_url": "https://github.com/IBM/mcp-context-forge",
"versions_count": 21,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2025-06-07T09:24:31.772071Z",
"latest_published_at": "2026-07-21T17:26:18.884412Z",
"latest_version_yanked": null,
"days_since_latest_publish": 12
}
]
},
"popularity": {
"forks": 789,
"stars": 4178,
"watchers": 34,
"fork_history": {
"days": [
{
"date": "2025-05-29",
"count": 1
},
{
"date": "2025-05-30",
"count": 1
},
{
"date": "2025-06-04",
"count": 1
},
{
"date": "2025-06-05",
"count": 2
},
{
"date": "2025-06-06",
"count": 5
},
{
"date": "2025-06-07",
"count": 1
},
{
"date": "2025-06-08",
"count": 1
},
{
"date": "2025-06-09",
"count": 9
},
{
"date": "2025-06-10",
"count": 5
},
{
"date": "2025-06-11",
"count": 9
},
{
"date": "2025-06-12",
"count": 4
},
{
"date": "2025-06-13",
"count": 2
},
{
"date": "2025-06-14",
"count": 1
},
{
"date": "2025-06-16",
"count": 3
},
{
"date": "2025-06-17",
"count": 3
},
{
"date": "2025-06-18",
"count": 2
},
{
"date": "2025-06-19",
"count": 4
},
{
"date": "2025-06-20",
"count": 1
},
{
"date": "2025-06-21",
"count": 2
},
{
"date": "2025-06-22",
"count": 1
},
{
"date": "2025-06-23",
"count": 8
},
{
"date": "2025-06-24",
"count": 7
},
{
"date": "2025-06-25",
"count": 8
},
{
"date": "2025-06-26",
"count": 3
},
{
"date": "2025-06-27",
"count": 2
},
{
"date": "2025-06-28",
"count": 1
},
{
"date": "2025-06-29",
"count": 1
},
{
"date": "2025-06-30",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-07-02",
"count": 1
},
{
"date": "2025-07-03",
"count": 3
},
{
"date": "2025-07-04",
"count": 5
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-07-07",
"count": 2
},
{
"date": "2025-07-08",
"count": 3
},
{
"date": "2025-07-09",
"count": 6
},
{
"date": "2025-07-10",
"count": 6
},
{
"date": "2025-07-11",
"count": 2
},
{
"date": "2025-07-13",
"count": 2
},
{
"date": "2025-07-14",
"count": 1
},
{
"date": "2025-07-15",
"count": 1
},
{
"date": "2025-07-16",
"count": 1
},
{
"date": "2025-07-17",
"count": 2
},
{
"date": "2025-07-18",
"count": 2
},
{
"date": "2025-07-20",
"count": 1
},
{
"date": "2025-07-21",
"count": 1
},
{
"date": "2025-07-22",
"count": 1
},
{
"date": "2025-07-23",
"count": 2
},
{
"date": "2025-07-24",
"count": 3
},
{
"date": "2025-07-25",
"count": 3
},
{
"date": "2025-07-28",
"count": 1
},
{
"date": "2025-07-29",
"count": 1
},
{
"date": "2025-07-30",
"count": 1
},
{
"date": "2025-07-31",
"count": 2
},
{
"date": "2025-08-01",
"count": 3
},
{
"date": "2025-08-02",
"count": 1
},
{
"date": "2025-08-03",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-08-07",
"count": 1
},
{
"date": "2025-08-08",
"count": 3
},
{
"date": "2025-08-09",
"count": 1
},
{
"date": "2025-08-10",
"count": 2
},
{
"date": "2025-08-11",
"count": 1
},
{
"date": "2025-08-12",
"count": 5
},
{
"date": "2025-08-15",
"count": 10
},
{
"date": "2025-08-16",
"count": 6
},
{
"date": "2025-08-17",
"count": 10
},
{
"date": "2025-08-18",
"count": 5
},
{
"date": "2025-08-19",
"count": 1
},
{
"date": "2025-08-20",
"count": 1
},
{
"date": "2025-08-22",
"count": 2
},
{
"date": "2025-08-25",
"count": 4
},
{
"date": "2025-08-26",
"count": 4
},
{
"date": "2025-08-27",
"count": 11
},
{
"date": "2025-08-28",
"count": 9
},
{
"date": "2025-08-29",
"count": 3
},
{
"date": "2025-08-30",
"count": 6
},
{
"date": "2025-08-31",
"count": 6
},
{
"date": "2025-09-01",
"count": 4
},
{
"date": "2025-09-02",
"count": 4
},
{
"date": "2025-09-03",
"count": 3
},
{
"date": "2025-09-04",
"count": 4
},
{
"date": "2025-09-05",
"count": 2
},
{
"date": "2025-09-06",
"count": 2
},
{
"date": "2025-09-08",
"count": 4
},
{
"date": "2025-09-09",
"count": 4
},
{
"date": "2025-09-10",
"count": 1
},
{
"date": "2025-09-11",
"count": 3
},
{
"date": "2025-09-12",
"count": 2
},
{
"date": "2025-09-13",
"count": 1
},
{
"date": "2025-09-14",
"count": 1
},
{
"date": "2025-09-15",
"count": 2
},
{
"date": "2025-09-16",
"count": 3
},
{
"date": "2025-09-17",
"count": 2
},
{
"date": "2025-09-18",
"count": 2
},
{
"date": "2025-09-19",
"count": 4
},
{
"date": "2025-09-20",
"count": 2
},
{
"date": "2025-09-21",
"count": 1
},
{
"date": "2025-09-23",
"count": 1
},
{
"date": "2025-09-24",
"count": 2
},
{
"date": "2025-09-25",
"count": 1
},
{
"date": "2025-09-27",
"count": 1
},
{
"date": "2025-09-29",
"count": 1
},
{
"date": "2025-10-02",
"count": 2
},
{
"date": "2025-10-03",
"count": 1
},
{
"date": "2025-10-04",
"count": 1
},
{
"date": "2025-10-06",
"count": 2
},
{
"date": "2025-10-07",
"count": 2
},
{
"date": "2025-10-08",
"count": 2
},
{
"date": "2025-10-09",
"count": 2
},
{
"date": "2025-10-10",
"count": 4
},
{
"date": "2025-10-15",
"count": 2
},
{
"date": "2025-10-16",
"count": 2
},
{
"date": "2025-10-17",
"count": 2
},
{
"date": "2025-10-19",
"count": 3
},
{
"date": "2025-10-20",
"count": 3
},
{
"date": "2025-10-22",
"count": 2
},
{
"date": "2025-10-23",
"count": 4
},
{
"date": "2025-10-24",
"count": 3
},
{
"date": "2025-10-25",
"count": 1
},
{
"date": "2025-10-26",
"count": 2
},
{
"date": "2025-10-28",
"count": 2
},
{
"date": "2025-10-29",
"count": 2
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-01",
"count": 1
},
{
"date": "2025-11-03",
"count": 2
},
{
"date": "2025-11-04",
"count": 1
},
{
"date": "2025-11-05",
"count": 4
},
{
"date": "2025-11-06",
"count": 2
},
{
"date": "2025-11-07",
"count": 2
},
{
"date": "2025-11-08",
"count": 2
},
{
"date": "2025-11-10",
"count": 1
},
{
"date": "2025-11-11",
"count": 1
},
{
"date": "2025-11-13",
"count": 1
},
{
"date": "2025-11-14",
"count": 2
},
{
"date": "2025-11-15",
"count": 1
},
{
"date": "2025-11-16",
"count": 2
},
{
"date": "2025-11-17",
"count": 1
},
{
"date": "2025-11-18",
"count": 2
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-20",
"count": 2
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2025-11-25",
"count": 1
},
{
"date": "2025-11-26",
"count": 3
},
{
"date": "2025-11-27",
"count": 3
},
{
"date": "2025-11-28",
"count": 2
},
{
"date": "2025-11-29",
"count": 1
},
{
"date": "2025-11-30",
"count": 1
},
{
"date": "2025-12-01",
"count": 1
},
{
"date": "2025-12-03",
"count": 3
},
{
"date": "2025-12-04",
"count": 2
},
{
"date": "2025-12-05",
"count": 2
},
{
"date": "2025-12-06",
"count": 1
},
{
"date": "2025-12-07",
"count": 1
},
{
"date": "2025-12-08",
"count": 2
},
{
"date": "2025-12-10",
"count": 3
},
{
"date": "2025-12-11",
"count": 2
},
{
"date": "2025-12-12",
"count": 2
},
{
"date": "2025-12-14",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-16",
"count": 2
},
{
"date": "2025-12-17",
"count": 3
},
{
"date": "2025-12-18",
"count": 4
},
{
"date": "2025-12-23",
"count": 4
},
{
"date": "2025-12-26",
"count": 2
},
{
"date": "2025-12-29",
"count": 2
},
{
"date": "2025-12-30",
"count": 1
},
{
"date": "2026-01-02",
"count": 2
},
{
"date": "2026-01-05",
"count": 1
},
{
"date": "2026-01-06",
"count": 1
},
{
"date": "2026-01-07",
"count": 1
},
{
"date": "2026-01-08",
"count": 1
},
{
"date": "2026-01-09",
"count": 1
},
{
"date": "2026-01-11",
"count": 1
},
{
"date": "2026-01-12",
"count": 2
},
{
"date": "2026-01-13",
"count": 1
},
{
"date": "2026-01-14",
"count": 2
},
{
"date": "2026-01-16",
"count": 2
},
{
"date": "2026-01-17",
"count": 2
},
{
"date": "2026-01-19",
"count": 4
},
{
"date": "2026-01-20",
"count": 2
},
{
"date": "2026-01-21",
"count": 2
},
{
"date": "2026-01-22",
"count": 1
},
{
"date": "2026-01-23",
"count": 2
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-27",
"count": 3
},
{
"date": "2026-01-28",
"count": 1
},
{
"date": "2026-01-29",
"count": 2
},
{
"date": "2026-01-30",
"count": 3
},
{
"date": "2026-01-31",
"count": 1
},
{
"date": "2026-02-01",
"count": 3
},
{
"date": "2026-02-03",
"count": 2
},
{
"date": "2026-02-04",
"count": 6
},
{
"date": "2026-02-05",
"count": 3
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-02-07",
"count": 2
},
{
"date": "2026-02-08",
"count": 1
},
{
"date": "2026-02-09",
"count": 2
},
{
"date": "2026-02-10",
"count": 3
},
{
"date": "2026-02-11",
"count": 6
},
{
"date": "2026-02-12",
"count": 3
},
{
"date": "2026-02-13",
"count": 2
},
{
"date": "2026-02-14",
"count": 2
},
{
"date": "2026-02-16",
"count": 3
},
{
"date": "2026-02-17",
"count": 2
},
{
"date": "2026-02-18",
"count": 2
},
{
"date": "2026-02-19",
"count": 3
},
{
"date": "2026-02-20",
"count": 3
},
{
"date": "2026-02-22",
"count": 2
},
{
"date": "2026-02-24",
"count": 2
},
{
"date": "2026-02-25",
"count": 4
},
{
"date": "2026-02-26",
"count": 1
},
{
"date": "2026-03-01",
"count": 2
},
{
"date": "2026-03-02",
"count": 3
},
{
"date": "2026-03-03",
"count": 2
},
{
"date": "2026-03-04",
"count": 3
},
{
"date": "2026-03-05",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-08",
"count": 2
},
{
"date": "2026-03-09",
"count": 2
},
{
"date": "2026-03-10",
"count": 5
},
{
"date": "2026-03-11",
"count": 2
},
{
"date": "2026-03-12",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-14",
"count": 3
},
{
"date": "2026-03-15",
"count": 3
},
{
"date": "2026-03-17",
"count": 5
},
{
"date": "2026-03-18",
"count": 5
},
{
"date": "2026-03-21",
"count": 1
},
{
"date": "2026-03-22",
"count": 3
},
{
"date": "2026-03-23",
"count": 2
},
{
"date": "2026-03-24",
"count": 2
},
{
"date": "2026-03-25",
"count": 4
},
{
"date": "2026-03-26",
"count": 2
},
{
"date": "2026-03-27",
"count": 4
},
{
"date": "2026-03-28",
"count": 1
},
{
"date": "2026-03-30",
"count": 1
},
{
"date": "2026-03-31",
"count": 7
},
{
"date": "2026-04-01",
"count": 1
},
{
"date": "2026-04-02",
"count": 4
},
{
"date": "2026-04-05",
"count": 1
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-09",
"count": 5
},
{
"date": "2026-04-10",
"count": 2
},
{
"date": "2026-04-12",
"count": 1
},
{
"date": "2026-04-13",
"count": 2
},
{
"date": "2026-04-14",
"count": 2
},
{
"date": "2026-04-15",
"count": 1
},
{
"date": "2026-04-16",
"count": 2
},
{
"date": "2026-04-18",
"count": 1
},
{
"date": "2026-04-21",
"count": 2
},
{
"date": "2026-04-22",
"count": 1
},
{
"date": "2026-04-24",
"count": 1
},
{
"date": "2026-04-26",
"count": 1
},
{
"date": "2026-04-27",
"count": 2
},
{
"date": "2026-04-28",
"count": 2
},
{
"date": "2026-04-29",
"count": 1
},
{
"date": "2026-04-30",
"count": 1
},
{
"date": "2026-05-01",
"count": 3
},
{
"date": "2026-05-02",
"count": 1
},
{
"date": "2026-05-04",
"count": 2
},
{
"date": "2026-05-05",
"count": 2
},
{
"date": "2026-05-06",
"count": 2
},
{
"date": "2026-05-07",
"count": 1
},
{
"date": "2026-05-08",
"count": 2
},
{
"date": "2026-05-09",
"count": 1
},
{
"date": "2026-05-10",
"count": 2
},
{
"date": "2026-05-12",
"count": 3
},
{
"date": "2026-05-14",
"count": 1
},
{
"date": "2026-05-15",
"count": 2
},
{
"date": "2026-05-16",
"count": 1
},
{
"date": "2026-05-17",
"count": 2
},
{
"date": "2026-05-18",
"count": 3
},
{
"date": "2026-05-19",
"count": 2
},
{
"date": "2026-05-20",
"count": 3
},
{
"date": "2026-05-22",
"count": 3
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-27",
"count": 1
},
{
"date": "2026-05-28",
"count": 6
},
{
"date": "2026-05-29",
"count": 1
},
{
"date": "2026-05-30",
"count": 1
},
{
"date": "2026-05-31",
"count": 3
},
{
"date": "2026-06-02",
"count": 2
},
{
"date": "2026-06-04",
"count": 3
},
{
"date": "2026-06-05",
"count": 7
},
{
"date": "2026-06-06",
"count": 1
},
{
"date": "2026-06-10",
"count": 2
},
{
"date": "2026-06-11",
"count": 1
},
{
"date": "2026-06-12",
"count": 4
},
{
"date": "2026-06-13",
"count": 2
},
{
"date": "2026-06-14",
"count": 1
},
{
"date": "2026-06-15",
"count": 2
},
{
"date": "2026-06-16",
"count": 2
},
{
"date": "2026-06-17",
"count": 4
},
{
"date": "2026-06-20",
"count": 2
},
{
"date": "2026-06-21",
"count": 1
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-23",
"count": 4
},
{
"date": "2026-06-24",
"count": 2
},
{
"date": "2026-06-25",
"count": 1
},
{
"date": "2026-06-26",
"count": 1
},
{
"date": "2026-06-29",
"count": 6
},
{
"date": "2026-06-30",
"count": 2
},
{
"date": "2026-07-01",
"count": 2
},
{
"date": "2026-07-02",
"count": 2
},
{
"date": "2026-07-05",
"count": 4
},
{
"date": "2026-07-06",
"count": 3
},
{
"date": "2026-07-07",
"count": 1
},
{
"date": "2026-07-08",
"count": 1
},
{
"date": "2026-07-09",
"count": 3
},
{
"date": "2026-07-10",
"count": 1
},
{
"date": "2026-07-12",
"count": 1
},
{
"date": "2026-07-13",
"count": 3
},
{
"date": "2026-07-14",
"count": 3
},
{
"date": "2026-07-16",
"count": 2
},
{
"date": "2026-07-17",
"count": 2
},
{
"date": "2026-07-19",
"count": 2
},
{
"date": "2026-07-21",
"count": 2
},
{
"date": "2026-07-22",
"count": 3
},
{
"date": "2026-07-23",
"count": 2
},
{
"date": "2026-07-25",
"count": 5
},
{
"date": "2026-07-26",
"count": 2
},
{
"date": "2026-07-27",
"count": 3
},
{
"date": "2026-07-28",
"count": 3
},
{
"date": "2026-07-29",
"count": 3
},
{
"date": "2026-07-30",
"count": 3
},
{
"date": "2026-07-31",
"count": 2
},
{
"date": "2026-08-01",
"count": 2
},
{
"date": "2026-08-02",
"count": 2
}
],
"complete": true,
"collected": 783,
"total_forks": 789
},
"star_history": null,
"open_issues_and_prs": 1201
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [
"Makefile",
"charts/mcp-stack/Makefile",
"crates/mcp_runtime/Makefile",
"crates/wrapper/Makefile",
"docs/Makefile",
"mcp-servers/python/compliance_reference_server/Makefile",
"mcp-servers/python/data_analysis_server/Makefile",
"mcp-servers/python/graphviz_server/Makefile",
"mcp-servers/python/mcp-rss-search/Makefile",
"mcp-servers/python/mcp_eval_server/Makefile",
"mcp-servers/python/output_schema_test_server/Makefile",
"mcp-servers/python/python_sandbox_server/Makefile",
"mcp-servers/python/url_to_markdown_server/Makefile",
"mcp-servers/templates/go/{{cookiecutter.project_slug}}/Makefile",
"mcp-servers/templates/python/{{cookiecutter.project_slug}}/Makefile",
"plugins/external/cedar/Makefile",
"plugins/external/llmguard/Makefile",
"plugins/external/opa/Makefile",
"tests/client/Makefile",
"tests/load/Makefile",
"tests/performance/Makefile"
],
"api_schema_files": [],
"has_devcontainer": true,
"typecheck_configs": [
"mcpgateway/py.typed"
],
"toolchain_manifests": [
"Cargo.toml",
"crates/mcp_runtime/Cargo.toml",
"crates/request_logging_masking_native_extension/Cargo.toml",
"crates/wrapper/Cargo.toml",
"mcp-servers/templates/go/{{cookiecutter.project_slug}}/go.mod"
],
"largest_source_bytes": 1246496,
"source_files_sampled": 1737,
"oversized_source_files": 106,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md",
"charts/AGENTS.md",
"docs/AGENTS.md",
"plugins/AGENTS.md",
"tests/AGENTS.md"
],
"agent_instruction_max_bytes": 28726
},
"dependencies": {
"manifests": [
"Cargo.toml",
"docs/requirements.txt",
"package.json",
"plugins/requirements.txt",
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 91,
"malicious_count": 0,
"assessed_package": "pypi:mcp-contextforge-gateway@1.0.6",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"crates",
"npm",
"pypi"
],
"dependencies": [
{
"name": "@alpinejs/csp",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.15.8"
},
{
"name": "chart.js",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.4.7"
},
{
"name": "codemirror",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^5.65.18"
},
{
"name": "dompurify",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.2"
},
{
"name": "htmx.org",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.3"
},
{
"name": "marked",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^15.0.6"
},
{
"name": "alembic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.18.5"
},
{
"name": "argon2-cffi",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=25.1.0"
},
{
"name": "base58",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.1.1"
},
{
"name": "brotli",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.2.0"
},
{
"name": "click",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=8.4.2"
},
{
"name": "cpex",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.1.1"
},
{
"name": "cryptography",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=49.0.0"
},
{
"name": "fastapi",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.140.0"
},
{
"name": "filelock",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.32.0,<3.33.0"
},
{
"name": "gunicorn",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=26.0.0"
},
{
"name": "httpx",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.28.1"
},
{
"name": "httpx",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.28.1"
},
{
"name": "idna",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.18"
},
{
"name": "jinja2",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.1.6"
},
{
"name": "jq",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.12.0"
},
{
"name": "jsonpath-ng",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.8.0"
},
{
"name": "jsonschema",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=4.26.0"
},
{
"name": "Mako",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.3.12"
},
{
"name": "mcp",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.28.1,<2"
},
{
"name": "msgpack",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.2.1"
},
{
"name": "orjson",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.11.9"
},
{
"name": "parse",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.22.1"
},
{
"name": "prometheus-fastapi-instrumentator",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=8.1.0"
},
{
"name": "prometheus_client",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.26.0"
},
{
"name": "psutil",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=7.2.2"
},
{
"name": "pydantic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.13.4"
},
{
"name": "pydantic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.13.4"
},
{
"name": "pydantic-settings",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.14.2"
},
{
"name": "pyjwt",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.13.0"
},
{
"name": "python-json-logger",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=4.1.0"
},
{
"name": "python-multipart",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.0.32"
},
{
"name": "PyYAML",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=6.0.3"
},
{
"name": "redis",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=8.0.1"
},
{
"name": "requests",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.34.2"
},
{
"name": "requests-oauthlib",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.0"
},
{
"name": "sqlalchemy",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.51"
},
{
"name": "sse-starlette",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=3.4.6"
},
{
"name": "starlette",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.3.1"
},
{
"name": "starlette-compress",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.8.0"
},
{
"name": "typer",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.27.0"
},
{
"name": "urllib3",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.7.0"
},
{
"name": "uvicorn",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.51.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@alpinejs/csp",
"direct": true,
"version": "3.15.12",
"ecosystem": "npm"
},
{
"name": "chart.js",
"direct": true,
"version": "4.5.1",
"ecosystem": "npm"
},
{
"name": "codemirror",
"direct": true,
"version": "5.65.21",
"ecosystem": "npm"
},
{
"name": "dompurify",
"direct": true,
"version": "3.4.12",
"ecosystem": "npm"
},
{
"name": "htmx.org",
"direct": true,
"version": "2.0.10",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": true,
"version": "15.0.12",
"ecosystem": "npm"
},
{
"name": "alembic",
"direct": true,
"version": "1.18.5",
"ecosystem": "pypi"
},
{
"name": "argon2-cffi",
"direct": true,
"version": "25.1.0",
"ecosystem": "pypi"
},
{
"name": "base58",
"direct": true,
"version": "2.1.1",
"ecosystem": "pypi"
},
{
"name": "brotli",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "brotli",
"direct": true,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "click",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "click",
"direct": true,
"version": "8.4.2",
"ecosystem": "pypi"
},
{
"name": "cpex",
"direct": true,
"version": "0.1.1",
"ecosystem": "pypi"
},
{
"name": "cryptography",
"direct": true,
"version": "49.0.0",
"ecosystem": "pypi"
},
{
"name": "fastapi",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fastapi",
"direct": true,
"version": "0.140.0",
"ecosystem": "pypi"
},
{
"name": "filelock",
"direct": true,
"version": "3.32.0",
"ecosystem": "pypi"
},
{
"name": "gunicorn",
"direct": true,
"version": "26.0.0",
"ecosystem": "pypi"
},
{
"name": "httpx",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "httpx",
"direct": true,
"version": "0.28.1",
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": true,
"version": "3.18",
"ecosystem": "pypi"
},
{
"name": "jinja2",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "jinja2",
"direct": true,
"version": "3.1.6",
"ecosystem": "pypi"
},
{
"name": "jq",
"direct": true,
"version": "1.12.0",
"ecosystem": "pypi"
},
{
"name": "jsonpath-ng",
"direct": true,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema",
"direct": true,
"version": "4.26.0",
"ecosystem": "pypi"
},
{
"name": "mako",
"direct": true,
"version": "1.3.12",
"ecosystem": "pypi"
},
{
"name": "mcp",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mcp",
"direct": true,
"version": "1.28.1",
"ecosystem": "pypi"
},
{
"name": "msgpack",
"direct": true,
"version": "1.2.1",
"ecosystem": "pypi"
},
{
"name": "orjson",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "orjson",
"direct": true,
"version": "3.11.9",
"ecosystem": "pypi"
},
{
"name": "parse",
"direct": true,
"version": "1.22.1",
"ecosystem": "pypi"
},
{
"name": "prometheus-client",
"direct": true,
"version": "0.26.0",
"ecosystem": "pypi"
},
{
"name": "prometheus-fastapi-instrumentator",
"direct": true,
"version": "8.1.0",
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": true,
"version": "7.2.2",
"ecosystem": "pypi"
},
{
"name": "pydantic",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pydantic",
"direct": true,
"version": "2.13.4",
"ecosystem": "pypi"
},
{
"name": "pydantic-settings",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pydantic-settings",
"direct": true,
"version": "2.14.2",
"ecosystem": "pypi"
},
{
"name": "pyjwt",
"direct": true,
"version": "2.13.0",
"ecosystem": "pypi"
},
{
"name": "python-json-logger",
"direct": true,
"version": "4.1.0",
"ecosystem": "pypi"
},
{
"name": "python-multipart",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-multipart",
"direct": true,
"version": "0.0.32",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": "6.0.3",
"ecosystem": "pypi"
},
{
"name": "redis",
"direct": true,
"version": "8.0.1",
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": true,
"version": "2.34.2",
"ecosystem": "pypi"
},
{
"name": "requests-oauthlib",
"direct": true,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "sqlalchemy",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sqlalchemy",
"direct": true,
"version": "2.0.51",
"ecosystem": "pypi"
},
{
"name": "sse-starlette",
"direct": true,
"version": "3.4.6",
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": true,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "starlette-compress",
"direct": true,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "typer",
"direct": true,
"version": "0.27.0",
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": true,
"version": "2.7.0",
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": true,
"version": "0.51.0",
"ecosystem": "pypi"
},
{
"name": "actson",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "actson",
"direct": false,
"version": "2.1.0",
"ecosystem": "crates"
},
{
"name": "aho-corasick",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "android_system_properties",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "anstream",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle",
"direct": false,
"version": "1.0.14",
"ecosystem": "crates"
},
{
"name": "anstyle-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "anstyle-query",
"direct": false,
"version": "1.1.5",
"ecosystem": "crates"
},
{
"name": "anstyle-wincon",
"direct": false,
"version": "3.0.11",
"ecosystem": "crates"
},
{
"name": "anyhow",
"direct": false,
"version": "1.0.102",
"ecosystem": "crates"
},
{
"name": "arc-swap",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "arc-swap",
"direct": false,
"version": "1.9.1",
"ecosystem": "crates"
},
{
"name": "assert-json-diff",
"direct": false,
"version": "2.0.2",
"ecosystem": "crates"
},
{
"name": "async-stream",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "async-stream",
"direct": false,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "async-stream-impl",
"direct": false,
"version": "0.3.6",
"ecosystem": "crates"
},
{
"name": "async-trait",
"direct": false,
"version": "0.1.89",
"ecosystem": "crates"
},
{
"name": "atomic-waker",
"direct": false,
"version": "1.1.2",
"ecosystem": "crates"
},
{
"name": "autocfg",
"direct": false,
"version": "1.5.1",
"ecosystem": "crates"
},
{
"name": "aws-lc-rs",
"direct": false,
"version": "1.17.0",
"ecosystem": "crates"
},
{
"name": "aws-lc-sys",
"direct": false,
"version": "0.41.0",
"ecosystem": "crates"
},
{
"name": "axum",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "axum-core",
"direct": false,
"version": "0.5.6",
"ecosystem": "crates"
},
{
"name": "backon",
"direct": false,
"version": "1.6.0",
"ecosystem": "crates"
},
{
"name": "base64",
"direct": false,
"version": "0.22.1",
"ecosystem": "crates"
},
{
"name": "base64ct",
"direct": false,
"version": "1.8.3",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "2.13.0",
"ecosystem": "crates"
},
{
"name": "block-buffer",
"direct": false,
"version": "0.10.4",
"ecosystem": "crates"
},
{
"name": "block-buffer",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "btoi",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "bumpalo",
"direct": false,
"version": "3.20.3",
"ecosystem": "crates"
},
{
"name": "byteorder",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "bytes",
"direct": false,
"version": "1.12.0",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.64",
"ecosystem": "crates"
},
{
"name": "cfg-if",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "cfg_aliases",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "chacha20",
"direct": false,
"version": "0.10.0",
"ecosystem": "crates"
},
{
"name": "chrono",
"direct": false,
"version": "0.4.45",
"ecosystem": "crates"
},
{
"name": "clap",
"direct": false,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "clap_builder",
"direct": false,
"version": "4.6.0",
"ecosystem": "crates"
},
{
"name": "clap_derive",
"direct": false,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "clap_lex",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "cmake",
"direct": false,
"version": "0.1.58",
"ecosystem": "crates"
},
{
"name": "cmov",
"direct": false,
"version": "0.5.4",
"ecosystem": "crates"
},
{
"name": "colorchoice",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "colored",
"direct": false,
"version": "3.1.1",
"ecosystem": "crates"
},
{
"name": "combine",
"direct": false,
"version": "4.6.7",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.9.6",
"ecosystem": "crates"
},
{
"name": "core-foundation",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "core-foundation-sys",
"direct": false,
"version": "0.8.7",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "crossbeam-channel",
"direct": false,
"version": "0.5.15",
"ecosystem": "crates"
},
{
"name": "crossbeam-utils",
"direct": false,
"version": "0.8.21",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "crypto-common",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "ctutils",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "deadpool",
"direct": false,
"version": "0.12.3",
"ecosystem": "crates"
},
{
"name": "deadpool-postgres",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "deadpool-postgres",
"direct": false,
"version": "0.14.1",
"ecosystem": "crates"
},
{
"name": "deadpool-runtime",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "der",
"direct": false,
"version": "0.7.10",
"ecosystem": "crates"
},
{
"name": "der_derive",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "deranged",
"direct": false,
"version": "0.5.8",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.10.7",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "displaydoc",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "dotenvy",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "dotenvy",
"direct": false,
"version": "0.15.7",
"ecosystem": "crates"
},
{
"name": "dunce",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "either",
"direct": false,
"version": "1.16.0",
"ecosystem": "crates"
},
{
"name": "equivalent",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "errno",
"direct": false,
"version": "0.3.14",
"ecosystem": "crates"
},
{
"name": "fallible-iterator",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": false,
"version": "2.4.1",
"ecosystem": "crates"
},
{
"name": "find-msvc-tools",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "flagset",
"direct": false,
"version": "0.4.7",
"ecosystem": "crates"
},
{
"name": "flume",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "flume",
"direct": false,
"version": "0.12.0",
"ecosystem": "crates"
},
{
"name": "fnv",
"direct": false,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "form_urlencoded",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "fs_extra",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "futures",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-channel",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-core",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-executor",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-io",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-macro",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-sink",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-task",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": false,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "generic-array",
"direct": false,
"version": "0.14.7",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "h2",
"direct": false,
"version": "0.4.15",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "heck",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "hermit-abi",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "hmac",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "http",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "http",
"direct": false,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "http-body",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "http-body-util",
"direct": false,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "httparse",
"direct": false,
"version": "1.10.1",
"ecosystem": "crates"
},
{
"name": "httpdate",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "hybrid-array",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "hyper",
"direct": false,
"version": "1.10.1",
"ecosystem": "crates"
},
{
"name": "hyper-rustls",
"direct": false,
"version": "0.27.9",
"ecosystem": "crates"
},
{
"name": "hyper-timeout",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "hyper-util",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "iana-time-zone",
"direct": false,
"version": "0.1.65",
"ecosystem": "crates"
},
{
"name": "iana-time-zone-haiku",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "icu_collections",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "icu_locale_core",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "icu_normalizer",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "icu_normalizer_data",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "icu_properties",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "icu_properties_data",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "icu_provider",
"direct": false,
"version": "2.1.1",
"ecosystem": "crates"
},
{
"name": "idna",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "idna_adapter",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.14.0",
"ecosystem": "crates"
},
{
"name": "ipnet",
"direct": false,
"version": "2.12.0",
"ecosystem": "crates"
},
{
"name": "ipnetwork",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "ipnetwork",
"direct": false,
"version": "0.21.1",
"ecosystem": "crates"
},
{
"name": "is_terminal_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "itoa",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "jni",
"direct": false,
"version": "0.22.4",
"ecosystem": "crates"
},
{
"name": "jni-macros",
"direct": false,
"version": "0.22.4",
"ecosystem": "crates"
},
{
"name": "jni-sys",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "jni-sys-macros",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "jobserver",
"direct": false,
"version": "0.1.34",
"ecosystem": "crates"
},
{
"name": "js-sys",
"direct": false,
"version": "0.3.102",
"ecosystem": "crates"
},
{
"name": "jsonrpc-core",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "jsonrpc-core",
"direct": false,
"version": "18.0.0",
"ecosystem": "crates"
},
{
"name": "lazy_static",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.186",
"ecosystem": "crates"
},
{
"name": "libmimalloc-sys",
"direct": false,
"version": "0.1.49",
"ecosystem": "crates"
},
{
"name": "libredox",
"direct": false,
"version": "0.1.17",
"ecosystem": "crates"
},
{
"name": "linux-raw-sys",
"direct": false,
"version": "0.12.1",
"ecosystem": "crates"
},
{
"name": "litemap",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "lock_api",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "log",
"direct": false,
"version": "0.4.32",
"ecosystem": "crates"
},
{
"name": "lru-slab",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "matchers",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "matchit",
"direct": false,
"version": "0.8.4",
"ecosystem": "crates"
},
{
"name": "md-5",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.2",
"ecosystem": "crates"
},
{
"name": "mimalloc",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "mimalloc",
"direct": false,
"version": "0.1.52",
"ecosystem": "crates"
},
{
"name": "mime",
"direct": false,
"version": "0.3.17",
"ecosystem": "crates"
},
{
"name": "minimal-lexical",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "mio",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "mockito",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "mockito",
"direct": false,
"version": "1.7.2",
"ecosystem": "crates"
},
{
"name": "nix",
"direct": false,
"version": "0.31.3",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "7.1.3",
"ecosystem": "crates"
},
{
"name": "nu-ansi-term",
"direct": false,
"version": "0.50.3",
"ecosystem": "crates"
},
{
"name": "num-bigint",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "num-conv",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "num-integer",
"direct": false,
"version": "0.1.46",
"ecosystem": "crates"
},
{
"name": "num-traits",
"direct": false,
"version": "0.2.19",
"ecosystem": "crates"
},
{
"name": "num_cpus",
"direct": false,
"version": "1.17.0",
"ecosystem": "crates"
},
{
"name": "objc2-core-foundation",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "objc2-system-configuration",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "once_cell",
"direct": false,
"version": "1.21.4",
"ecosystem": "crates"
},
{
"name": "once_cell_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "openssl-probe",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "opentelemetry",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "opentelemetry",
"direct": false,
"version": "0.31.0",
"ecosystem": "crates"
},
{
"name": "opentelemetry-http",
"direct": false,
"version": "0.31.0",
"ecosystem": "crates"
},
{
"name": "opentelemetry-otlp",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "opentelemetry-otlp",
"direct": false,
"version": "0.31.1",
"ecosystem": "crates"
},
{
"name": "opentelemetry-proto",
"direct": false,
"version": "0.31.0",
"ecosystem": "crates"
},
{
"name": "opentelemetry_sdk",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "opentelemetry_sdk",
"direct": false,
"version": "0.31.0",
"ecosystem": "crates"
},
{
"name": "parking_lot",
"direct": false,
"version": "0.12.5",
"ecosystem": "crates"
},
{
"name": "parking_lot_core",
"direct": false,
"version": "0.9.12",
"ecosystem": "crates"
},
{
"name": "percent-encoding",
"direct": false,
"version": "2.3.2",
"ecosystem": "crates"
},
{
"name": "phf",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "phf_shared",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "pin-project",
"direct": false,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "pin-project-internal",
"direct": false,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "pin-project-lite",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "portable-atomic",
"direct": false,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "postgres-protocol",
"direct": false,
"version": "0.6.12",
"ecosystem": "crates"
},
{
"name": "postgres-types",
"direct": false,
"version": "0.2.14",
"ecosystem": "crates"
},
{
"name": "potential_utf",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "powerfmt",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "ppv-lite86",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "proc-macro2",
"direct": false,
"version": "1.0.106",
"ecosystem": "crates"
},
{
"name": "process-wrap",
"direct": false,
"version": "9.1.0",
"ecosystem": "crates"
},
{
"name": "prost",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "prost-derive",
"direct": false,
"version": "0.14.4",
"ecosystem": "crates"
},
{
"name": "pyo3",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "pyo3-build-config",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "pyo3-ffi",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "pyo3-macros",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "pyo3-macros-backend",
"direct": false,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "quinn",
"direct": false,
"version": "0.11.9",
"ecosystem": "crates"
},
{
"name": "quinn-proto",
"direct": false,
"version": "0.11.14",
"ecosystem": "crates"
},
{
"name": "quinn-udp",
"direct": false,
"version": "0.5.14",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.45",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "5.3.0",
"ecosystem": "crates"
},
{
"name": "r-efi",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": "0.9.4",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "rand_chacha",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.10.1",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "redis",
"direct": false,
"version": "0.32.7",
"ecosystem": "crates"
},
{
"name": "redox_syscall",
"direct": false,
"version": "0.5.18",
"ecosystem": "crates"
},
{
"name": "regex",
"direct": false,
"version": "1.12.4",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "regex-syntax",
"direct": false,
"version": "0.8.11",
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": false,
"version": "0.12.28",
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": false,
"version": "0.13.4",
"ecosystem": "crates"
},
{
"name": "ring",
"direct": false,
"version": "0.17.14",
"ecosystem": "crates"
},
{
"name": "rmcp",
"direct": false,
"version": "1.7.0",
"ecosystem": "crates"
},
{
"name": "rustc-hash",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "rustc_version",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "rustix",
"direct": false,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "rustls",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rustls",
"direct": false,
"version": "0.23.40",
"ecosystem": "crates"
},
{
"name": "rustls-native-certs",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rustls-native-certs",
"direct": false,
"version": "0.8.4",
"ecosystem": "crates"
},
{
"name": "rustls-pki-types",
"direct": false,
"version": "1.14.1",
"ecosystem": "crates"
},
{
"name": "rustls-platform-verifier",
"direct": false,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "rustls-platform-verifier-android",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "rustls-webpki",
"direct": false,
"version": "0.103.13",
"ecosystem": "crates"
},
{
"name": "rustversion",
"direct": false,
"version": "1.0.22",
"ecosystem": "crates"
},
{
"name": "ryu",
"direct": false,
"version": "1.0.23",
"ecosystem": "crates"
},
{
"name": "same-file",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "schannel",
"direct": false,
"version": "0.1.29",
"ecosystem": "crates"
},
{
"name": "scopeguard",
"direct": false,
"version": "1.2.0",
"ecosystem": "crates"
},
{
"name": "security-framework",
"direct": false,
"version": "3.7.0",
"ecosystem": "crates"
},
{
"name": "security-framework-sys",
"direct": false,
"version": "2.17.0",
"ecosystem": "crates"
},
{
"name": "semver",
"direct": false,
"version": "1.0.28",
"ecosystem": "crates"
},
{
"name": "serde",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_core",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_derive",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": false,
"version": "1.0.150",
"ecosystem": "crates"
},
{
"name": "serde_path_to_error",
"direct": false,
"version": "0.1.20",
"ecosystem": "crates"
},
{
"name": "serde_spanned",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "serde_urlencoded",
"direct": false,
"version": "0.7.1",
"ecosystem": "crates"
},
{
"name": "sha1_smol",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": false,
"version": "0.10.9",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": false,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "sharded-slab",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "shlex",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "signal-hook-registry",
"direct": false,
"version": "1.4.8",
"ecosystem": "crates"
},
{
"name": "simd_cesu8",
"direct": false,
"version": "1.1.1",
"ecosystem": "crates"
},
{
"name": "simdutf8",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "similar",
"direct": false,
"version": "2.7.0",
"ecosystem": "crates"
},
{
"name": "siphasher",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "slab",
"direct": false,
"version": "0.4.12",
"ecosystem": "crates"
},
{
"name": "smallvec",
"direct": false,
"version": "1.15.2",
"ecosystem": "crates"
},
{
"name": "socket2",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "spin",
"direct": false,
"version": "0.9.8",
"ecosystem": "crates"
},
{
"name": "spki",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "sse-stream",
"direct": false,
"version": "0.2.3",
"ecosystem": "crates"
},
{
"name": "stable_deref_trait",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "stringprep",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "strsim",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "subtle",
"direct": false,
"version": "2.6.1",
"ecosystem": "crates"
},
{
"name": "symlink",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "syn",
"direct": false,
"version": "2.0.118",
"ecosystem": "crates"
},
{
"name": "sync_wrapper",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "synstructure",
"direct": false,
"version": "0.13.2",
"ecosystem": "crates"
},
{
"name": "target-lexicon",
"direct": false,
"version": "0.13.5",
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": "3.27.0",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "thiserror-impl",
"direct": false,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "thread_local",
"direct": false,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "time",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "time",
"direct": false,
"version": "0.3.49",
"ecosystem": "crates"
},
{
"name": "time-core",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "time-macros",
"direct": false,
"version": "0.2.29",
"ecosystem": "crates"
},
{
"name": "tinystr",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "tinyvec",
"direct": false,
"version": "1.11.0",
"ecosystem": "crates"
},
{
"name": "tinyvec_macros",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "tls_codec",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "tls_codec_derive",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "tokio",
"direct": false,
"version": "1.52.3",
"ecosystem": "crates"
},
{
"name": "tokio-macros",
"direct": false,
"version": "2.7.0",
"ecosystem": "crates"
},
{
"name": "tokio-postgres",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-postgres",
"direct": false,
"version": "0.7.18",
"ecosystem": "crates"
},
{
"name": "tokio-postgres-rustls",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-postgres-rustls",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "tokio-rustls",
"direct": false,
"version": "0.26.4",
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "tokio-test",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-test",
"direct": false,
"version": "0.4.5",
"ecosystem": "crates"
},
{
"name": "tokio-util",
"direct": false,
"version": "0.7.18",
"ecosystem": "crates"
},
{
"name": "toml",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "toml",
"direct": false,
"version": "0.9.12+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_datetime",
"direct": false,
"version": "0.7.5+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_parser",
"direct": false,
"version": "1.1.2+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "toml_writer",
"direct": false,
"version": "1.1.1+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "tonic",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tonic",
"direct": false,
"version": "0.14.5",
"ecosystem": "crates"
},
{
"name": "tonic-prost",
"direct": false,
"version": "0.14.5",
"ecosystem": "crates"
},
{
"name": "tower",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tower",
"direct": false,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "tower-http",
"direct": false,
"version": "0.6.11",
"ecosystem": "crates"
},
{
"name": "tower-layer",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "tower-service",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "tracing",
"direct": false,
"version": "0.1.44",
"ecosystem": "crates"
},
{
"name": "tracing-appender",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-appender",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "tracing-attributes",
"direct": false,
"version": "0.1.31",
"ecosystem": "crates"
},
{
"name": "tracing-core",
"direct": false,
"version": "0.1.36",
"ecosystem": "crates"
},
{
"name": "tracing-log",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "tracing-opentelemetry",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-opentelemetry",
"direct": false,
"version": "0.32.1",
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": false,
"version": "0.3.23",
"ecosystem": "crates"
},
{
"name": "tracing-test",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-test",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "tracing-test-macro",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "try-lock",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.20.1",
"ecosystem": "crates"
},
{
"name": "unicode-bidi",
"direct": false,
"version": "0.3.18",
"ecosystem": "crates"
},
{
"name": "unicode-ident",
"direct": false,
"version": "1.0.24",
"ecosystem": "crates"
},
{
"name": "unicode-normalization",
"direct": false,
"version": "0.1.25",
"ecosystem": "crates"
},
{
"name": "unicode-properties",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "untrusted",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "url",
"direct": false,
"version": "2.5.8",
"ecosystem": "crates"
},
{
"name": "utf8_iter",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "utf8parse",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "uuid",
"direct": false,
"version": "1.23.0",
"ecosystem": "crates"
},
{
"name": "valuable",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "version_check",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "walkdir",
"direct": false,
"version": "2.5.0",
"ecosystem": "crates"
},
{
"name": "want",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.11.1+wasi-snapshot-preview1",
"ecosystem": "crates"
},
{
"name": "wasi",
"direct": false,
"version": "0.14.7+wasi-0.2.4",
"ecosystem": "crates"
},
{
"name": "wasip2",
"direct": false,
"version": "1.0.1+wasi-0.2.4",
"ecosystem": "crates"
},
{
"name": "wasite",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen",
"direct": false,
"version": "0.2.125",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-futures",
"direct": false,
"version": "0.4.75",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro",
"direct": false,
"version": "0.2.125",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-macro-support",
"direct": false,
"version": "0.2.125",
"ecosystem": "crates"
},
{
"name": "wasm-bindgen-shared",
"direct": false,
"version": "0.2.125",
"ecosystem": "crates"
},
{
"name": "wasm-streams",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "wasm-streams",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "web-sys",
"direct": false,
"version": "0.3.102",
"ecosystem": "crates"
},
{
"name": "web-time",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "webpki-root-certs",
"direct": false,
"version": "1.0.8",
"ecosystem": "crates"
},
{
"name": "whoami",
"direct": false,
"version": "2.1.2",
"ecosystem": "crates"
},
{
"name": "winapi-util",
"direct": false,
"version": "0.1.11",
"ecosystem": "crates"
},
{
"name": "windows",
"direct": false,
"version": "0.62.2",
"ecosystem": "crates"
},
{
"name": "windows-collections",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "windows-core",
"direct": false,
"version": "0.62.2",
"ecosystem": "crates"
},
{
"name": "windows-future",
"direct": false,
"version": "0.3.2",
"ecosystem": "crates"
},
{
"name": "windows-implement",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-interface",
"direct": false,
"version": "0.59.3",
"ecosystem": "crates"
},
{
"name": "windows-link",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "windows-numerics",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "windows-result",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "windows-strings",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.52.0",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.60.2",
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": "0.61.2",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows-targets",
"direct": false,
"version": "0.53.5",
"ecosystem": "crates"
},
{
"name": "windows-threading",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_aarch64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_i686_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnu",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_gnullvm",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.52.6",
"ecosystem": "crates"
},
{
"name": "windows_x86_64_msvc",
"direct": false,
"version": "0.53.1",
"ecosystem": "crates"
},
{
"name": "winnow",
"direct": false,
"version": "0.7.15",
"ecosystem": "crates"
},
{
"name": "winnow",
"direct": false,
"version": "1.0.3",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.46.0",
"ecosystem": "crates"
},
{
"name": "writeable",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "x509-cert",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "yoke",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "yoke-derive",
"direct": false,
"version": "0.8.2",
"ecosystem": "crates"
},
{
"name": "zerocopy",
"direct": false,
"version": "0.8.52",
"ecosystem": "crates"
},
{
"name": "zerocopy-derive",
"direct": false,
"version": "0.8.52",
"ecosystem": "crates"
},
{
"name": "zerofrom",
"direct": false,
"version": "0.1.8",
"ecosystem": "crates"
},
{
"name": "zerofrom-derive",
"direct": false,
"version": "0.1.7",
"ecosystem": "crates"
},
{
"name": "zeroize",
"direct": false,
"version": "1.9.0",
"ecosystem": "crates"
},
{
"name": "zeroize_derive",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "zerotrie",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "zerovec",
"direct": false,
"version": "0.11.6",
"ecosystem": "crates"
},
{
"name": "zerovec-derive",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "zmij",
"direct": false,
"version": "1.0.21",
"ecosystem": "crates"
},
{
"name": "@acemir/cssom",
"direct": false,
"version": "0.9.31",
"ecosystem": "npm"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/css-color",
"direct": false,
"version": "5.1.11",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/dom-selector",
"direct": false,
"version": "6.8.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/generational-cache",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/nwsapi",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@biomejs/biome",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-darwin-arm64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-darwin-x64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-arm64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-arm64-musl",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-x64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-linux-x64-musl",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-win32-arm64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@biomejs/cli-win32-x64",
"direct": false,
"version": "2.5.5",
"ecosystem": "npm"
},
{
"name": "@bramus/specificity",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "@cacheable/memory",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@cacheable/utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@colordx/core",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "4.1.9",
"ecosystem": "npm"
},
{
"name": "@csstools/css-parser-algorithms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-syntax-patches-for-csstree",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/media-query-list-parser",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/selector-resolve-nested",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/selector-specificity",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"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.6",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.5",
"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": "@exodus/bytes",
"direct": false,
"version": "1.15.1",
"ecosystem": "npm"
},
{
"name": "@fortawesome/fontawesome-free",
"direct": false,
"version": "6.7.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/gitignore-to-minimatch",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.6",
"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/source-map",
"direct": false,
"version": "0.3.11",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@keyv/bigmap",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@keyv/serialize",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@kurkle/color",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@nolyfill/is-core-module",
"direct": false,
"version": "1.0.39",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.3.6",
"ecosystem": "npm"
},
{
"name": "@polka/url",
"direct": false,
"version": "1.0.0-next.29",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rtsao/scc",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@standard-schema/spec",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@stylistic/eslint-plugin",
"direct": false,
"version": "2.11.0",
"ecosystem": "npm"
},
{
"name": "@stylistic/eslint-plugin",
"direct": false,
"version": "5.10.0",
"ecosystem": "npm"
},
{
"name": "@stylistic/stylelint-config",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@stylistic/stylelint-plugin",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@tootallnate/quickjs-emscripten",
"direct": false,
"version": "0.23.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/json5",
"direct": false,
"version": "0.0.29",
"ecosystem": "npm"
},
{
"name": "@types/sarif",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@types/trusted-types",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm-eabi",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm64",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-arm64",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-x64",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-freebsd-x64",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-musleabihf",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-musl",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-loong64-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-loong64-musl",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-ppc64-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-musl",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-s390x-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-gnu",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-musl",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-openharmony-arm64",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-wasm32-wasi",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-arm64-msvc",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-ia32-msvc",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-x64-msvc",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-istanbul",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/ui",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-buffer-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "array-includes",
"direct": false,
"version": "3.1.9",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlast",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "array.prototype.findlastindex",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "array.prototype.flat",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.flatmap",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "array.prototype.tosorted",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "arraybuffer.prototype.slice",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ast-types",
"direct": false,
"version": "0.13.4",
"ecosystem": "npm"
},
{
"name": "astral-regex",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "astronomical",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "async-function",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.5.4",
"ecosystem": "npm"
},
{
"name": "available-typed-arrays",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.44",
"ecosystem": "npm"
},
{
"name": "basic-ftp",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "bidi-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.6",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "cacheable",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-api",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001806",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "colord",
"direct": false,
"version": "2.9.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "2.20.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "comment-parser",
"direct": false,
"version": "1.4.7",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "css-declaration-sorter",
"direct": false,
"version": "7.4.0",
"ecosystem": "npm"
},
{
"name": "css-functions-list",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cssnano",
"direct": false,
"version": "7.1.9",
"ecosystem": "npm"
},
{
"name": "cssnano-preset-default",
"direct": false,
"version": "7.0.17",
"ecosystem": "npm"
},
{
"name": "cssnano-utils",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "csso",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "data-uri-to-buffer",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "data-view-buffer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-length",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "data-view-byte-offset",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "degenerator",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "dependency-graph",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.394",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.24.3",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-abstract",
"direct": false,
"version": "1.24.2",
"ecosystem": "npm"
},
{
"name": "es-abstract-get",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-iterator-helpers",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-shim-unscopables",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "es-to-primitive",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.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": "escodegen",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.5",
"ecosystem": "npm"
},
{
"name": "eslint-compat-utils",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-import-context",
"direct": false,
"version": "0.1.9",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-node",
"direct": false,
"version": "0.3.10",
"ecosystem": "npm"
},
{
"name": "eslint-import-resolver-typescript",
"direct": false,
"version": "3.10.1",
"ecosystem": "npm"
},
{
"name": "eslint-module-utils",
"direct": false,
"version": "2.14.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es-x",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import",
"direct": false,
"version": "2.32.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-import-x",
"direct": false,
"version": "4.17.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "17.24.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prettier",
"direct": false,
"version": "5.5.6",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-promise",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react",
"direct": false,
"version": "7.37.5",
"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": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-diff",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "fastest-levenshtein",
"direct": false,
"version": "1.0.16",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fflate",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "11.1.5",
"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": "flat-cache",
"direct": false,
"version": "6.1.23",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "for-each",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "fraction.js",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.6",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function.prototype.name",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "functions-have-names",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "generator-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "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-east-asian-width",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-symbol-description",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.14.0",
"ecosystem": "npm"
},
{
"name": "get-uri",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"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": "global-modules",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "global-prefix",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "15.15.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "16.2.2",
"ecosystem": "npm"
},
{
"name": "globjoin",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "globrex",
"direct": false,
"version": "0.1.2",
"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-bigints",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-proto",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hashery",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hookified",
"direct": false,
"version": "1.15.1",
"ecosystem": "npm"
},
{
"name": "hookified",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "html-tags",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "htmlhint",
"direct": false,
"version": "1.9.2",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-meta-resolve",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "internal-slot",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "is-array-buffer",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-async-function",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-bigint",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-boolean-object",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "is-bun-module",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-callable",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-data-view",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-date-object",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-document.all",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-finalizationregistry",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-function",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-map",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-negative-zero",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-number-object",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-regex",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-shared-array-buffer",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "is-string",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-symbol",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-typed-array",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "is-weakmap",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "is-weakref",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "is-weakset",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "iterator.prototype",
"direct": false,
"version": "1.1.5",
"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.3.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "28.1.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.33.0",
"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.memoize",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.truncate",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "lodash.uniq",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "7.18.3",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "magicast",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mathml-tag-names",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.28",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.27.1",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "14.1.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "meriyah",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mrmime",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "napi-postinstall",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "neostandard",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "netmask",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "node-exports-info",
"direct": false,
"version": "1.6.2",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.51",
"ecosystem": "npm"
},
{
"name": "node-sarif-builder",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "object.entries",
"direct": false,
"version": "1.1.9",
"ecosystem": "npm"
},
{
"name": "object.fromentries",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "object.groupby",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "object.values",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "own-keys",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "pac-proxy-agent",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "pac-resolver",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "8.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": "2.0.2",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "peowly",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "possible-typed-array-names",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.21",
"ecosystem": "npm"
},
{
"name": "postcss-calc",
"direct": false,
"version": "10.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-cli",
"direct": false,
"version": "11.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-colormin",
"direct": false,
"version": "7.0.10",
"ecosystem": "npm"
},
{
"name": "postcss-convert-values",
"direct": false,
"version": "7.0.12",
"ecosystem": "npm"
},
{
"name": "postcss-discard-comments",
"direct": false,
"version": "7.0.8",
"ecosystem": "npm"
},
{
"name": "postcss-discard-duplicates",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-discard-empty",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-discard-overridden",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-merge-longhand",
"direct": false,
"version": "7.0.7",
"ecosystem": "npm"
},
{
"name": "postcss-merge-rules",
"direct": false,
"version": "7.0.11",
"ecosystem": "npm"
},
{
"name": "postcss-minify-font-values",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-minify-gradients",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "postcss-minify-params",
"direct": false,
"version": "7.0.9",
"ecosystem": "npm"
},
{
"name": "postcss-minify-selectors",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-charset",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-display-values",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-positions",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-repeat-style",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-string",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-timing-functions",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-unicode",
"direct": false,
"version": "7.0.9",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-url",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-whitespace",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-ordered-values",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-initial",
"direct": false,
"version": "7.0.9",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-transforms",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-reporter",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-safe-parser",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-sorting",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-svgo",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "postcss-unique-selectors",
"direct": false,
"version": "7.0.7",
"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": "prettier",
"direct": false,
"version": "3.9.6",
"ecosystem": "npm"
},
{
"name": "prettier-linter-helpers",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pretty-hrtime",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "proxy-agent",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qified",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "reflect.getprototypeof",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "regexp.prototype.flags",
"direct": false,
"version": "1.5.4",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "2.0.0-next.7",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "retire",
"direct": false,
"version": "5.4.3",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-array-concat",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "safe-push-apply",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "safe-regex-test",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "set-function-name",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "set-proto",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sirv",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "8.0.5",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "stable-hash",
"direct": false,
"version": "0.0.5",
"ecosystem": "npm"
},
{
"name": "stable-hash-x",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "stop-iteration-iterator",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "8.2.2",
"ecosystem": "npm"
},
{
"name": "string.prototype.matchall",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "string.prototype.repeat",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "string.prototype.trim",
"direct": false,
"version": "1.2.11",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimend",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "string.prototype.trimstart",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "style-search",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "stylehacks",
"direct": false,
"version": "7.0.11",
"ecosystem": "npm"
},
{
"name": "stylelint",
"direct": false,
"version": "17.14.1",
"ecosystem": "npm"
},
{
"name": "stylelint-config-recommended",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "stylelint-config-standard",
"direct": false,
"version": "40.0.0",
"ecosystem": "npm"
},
{
"name": "stylelint-order",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "10.2.2",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-hyperlinks",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "svg-tags",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "svgo",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.11.13",
"ecosystem": "npm"
},
{
"name": "table",
"direct": false,
"version": "6.9.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.19",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.49.0",
"ecosystem": "npm"
},
{
"name": "thenby",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "7.4.9",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "7.4.9",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "totalist",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-declaration-location",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tsconfig-paths",
"direct": false,
"version": "3.15.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "typed-array-buffer",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-length",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "typed-array-byte-offset",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "typed-array-length",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "unbox-primitive",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unrs-resolver",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "7.3.6",
"ecosystem": "npm"
},
{
"name": "vite-plugin-compression",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "walkdir",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "16.0.1",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which-boxed-primitive",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "which-builtin-type",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "which-collection",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "which-typed-array",
"direct": false,
"version": "1.1.22",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.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": "write-file-atomic",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "xml",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"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.9.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.3",
"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": "zod",
"direct": false,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "a2a-sdk",
"direct": false,
"version": "1.0.2",
"ecosystem": "pypi"
},
{
"name": "actdiag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "aiofile",
"direct": false,
"version": "3.11.1",
"ecosystem": "pypi"
},
{
"name": "aiofiles",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "aiohappyeyeballs",
"direct": false,
"version": "2.7.1",
"ecosystem": "pypi"
},
{
"name": "aiohttp",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "aiohttp",
"direct": false,
"version": "3.14.1",
"ecosystem": "pypi"
},
{
"name": "aiologic",
"direct": false,
"version": "0.17.1",
"ecosystem": "pypi"
},
{
"name": "aiosignal",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "aiosqlite",
"direct": false,
"version": "0.22.1",
"ecosystem": "pypi"
},
{
"name": "annotated-doc",
"direct": false,
"version": "0.0.4",
"ecosystem": "pypi"
},
{
"name": "annotated-types",
"direct": false,
"version": "0.7.0",
"ecosystem": "pypi"
},
{
"name": "ansicon",
"direct": false,
"version": "1.89.0",
"ecosystem": "pypi"
},
{
"name": "anthropic",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "anyio",
"direct": false,
"version": "4.14.2",
"ecosystem": "pypi"
},
{
"name": "argon2-cffi-bindings",
"direct": false,
"version": "25.1.0",
"ecosystem": "pypi"
},
{
"name": "argparse-manpage",
"direct": false,
"version": "4.7",
"ecosystem": "pypi"
},
{
"name": "arrow",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "ast-serialize",
"direct": false,
"version": "0.6.0",
"ecosystem": "pypi"
},
{
"name": "async-timeout",
"direct": false,
"version": "5.0.1",
"ecosystem": "pypi"
},
{
"name": "asyncpg",
"direct": false,
"version": "0.31.0",
"ecosystem": "pypi"
},
{
"name": "attrs",
"direct": false,
"version": "26.1.0",
"ecosystem": "pypi"
},
{
"name": "authlib",
"direct": false,
"version": "1.7.2",
"ecosystem": "pypi"
},
{
"name": "autoflake",
"direct": false,
"version": "2.3.3",
"ecosystem": "pypi"
},
{
"name": "babel",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "backports-tarfile",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "bandit",
"direct": false,
"version": "1.9.4",
"ecosystem": "pypi"
},
{
"name": "beartype",
"direct": false,
"version": "0.22.9",
"ecosystem": "pypi"
},
{
"name": "beautifulsoup4",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "bidict",
"direct": false,
"version": "0.23.1",
"ecosystem": "pypi"
},
{
"name": "binaryornot",
"direct": false,
"version": "0.6.0",
"ecosystem": "pypi"
},
{
"name": "black",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "black",
"direct": false,
"version": "26.5.1",
"ecosystem": "pypi"
},
{
"name": "blessed",
"direct": false,
"version": "1.47.0",
"ecosystem": "pypi"
},
{
"name": "blinker",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "blockdiag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "boolean-py",
"direct": false,
"version": "5.0",
"ecosystem": "pypi"
},
{
"name": "boto3",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "botocore",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "bracex",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "brotlicffi",
"direct": false,
"version": "1.2.0.1",
"ecosystem": "pypi"
},
{
"name": "build",
"direct": false,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "bump2version",
"direct": false,
"version": "1.0.1",
"ecosystem": "pypi"
},
{
"name": "cachecontrol",
"direct": false,
"version": "0.14.4",
"ecosystem": "pypi"
},
{
"name": "cachetools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cachetools",
"direct": false,
"version": "7.1.4",
"ecosystem": "pypi"
},
{
"name": "caio",
"direct": false,
"version": "0.9.25",
"ecosystem": "pypi"
},
{
"name": "cairocffi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cairosvg",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": "2026.6.17",
"ecosystem": "pypi"
},
{
"name": "cffi",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cffi",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "cfgv",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "chardet",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "chardet",
"direct": false,
"version": "7.4.3",
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": "3.4.9",
"ecosystem": "pypi"
},
{
"name": "check-manifest",
"direct": false,
"version": "0.51",
"ecosystem": "pypi"
},
{
"name": "code2flow",
"direct": false,
"version": "2.5.1",
"ecosystem": "pypi"
},
{
"name": "colorama",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "colorama",
"direct": false,
"version": "0.4.6",
"ecosystem": "pypi"
},
{
"name": "compliance-reference-server",
"direct": false,
"version": "0.2.0",
"ecosystem": "pypi"
},
{
"name": "configargparse",
"direct": false,
"version": "1.7.5",
"ecosystem": "pypi"
},
{
"name": "cookiecutter",
"direct": false,
"version": "2.7.1",
"ecosystem": "pypi"
},
{
"name": "coverage",
"direct": false,
"version": "7.15.2",
"ecosystem": "pypi"
},
{
"name": "cpex-encoded-exfil-detection",
"direct": false,
"version": "0.3.6",
"ecosystem": "pypi"
},
{
"name": "cpex-pii-filter",
"direct": false,
"version": "0.3.6",
"ecosystem": "pypi"
},
{
"name": "cpex-rate-limiter",
"direct": false,
"version": "0.1.7",
"ecosystem": "pypi"
},
{
"name": "cpex-retry-with-backoff",
"direct": false,
"version": "0.3.7",
"ecosystem": "pypi"
},
{
"name": "cpex-secrets-detection",
"direct": false,
"version": "0.3.10",
"ecosystem": "pypi"
},
{
"name": "cpex-sql-sanitizer",
"direct": false,
"version": "0.1.0",
"ecosystem": "pypi"
},
{
"name": "cpex-url-reputation",
"direct": false,
"version": "0.3.5",
"ecosystem": "pypi"
},
{
"name": "csscompressor",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cssselect2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "culsans",
"direct": false,
"version": "0.11.0",
"ecosystem": "pypi"
},
{
"name": "cyclonedx-python-lib",
"direct": false,
"version": "11.11.0",
"ecosystem": "pypi"
},
{
"name": "cyclopts",
"direct": false,
"version": "4.21.1",
"ecosystem": "pypi"
},
{
"name": "debugpy",
"direct": false,
"version": "1.8.21",
"ecosystem": "pypi"
},
{
"name": "defusedxml",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "defusedxml",
"direct": false,
"version": "0.7.1",
"ecosystem": "pypi"
},
{
"name": "diff-cover",
"direct": false,
"version": "10.3.0",
"ecosystem": "pypi"
},
{
"name": "diskcache",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "distlib",
"direct": false,
"version": "0.4.3",
"ecosystem": "pypi"
},
{
"name": "distro",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "dnspython",
"direct": false,
"version": "2.8.0",
"ecosystem": "pypi"
},
{
"name": "docstring-parser",
"direct": false,
"version": "0.18.0",
"ecosystem": "pypi"
},
{
"name": "docutils",
"direct": false,
"version": "0.23",
"ecosystem": "pypi"
},
{
"name": "dodgy",
"direct": false,
"version": "0.2.1",
"ecosystem": "pypi"
},
{
"name": "editor",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "editorconfig",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "email-validator",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "exceptiongroup",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "execnet",
"direct": false,
"version": "2.1.2",
"ecosystem": "pypi"
},
{
"name": "faker",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "faker",
"direct": false,
"version": "40.31.0",
"ecosystem": "pypi"
},
{
"name": "fakeredis",
"direct": false,
"version": "2.36.2",
"ecosystem": "pypi"
},
{
"name": "fastmcp",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fastmcp",
"direct": false,
"version": "3.4.4",
"ecosystem": "pypi"
},
{
"name": "fastmcp-slim",
"direct": false,
"version": "3.4.4",
"ecosystem": "pypi"
},
{
"name": "fawltydeps",
"direct": false,
"version": "0.20.0",
"ecosystem": "pypi"
},
{
"name": "feedparser",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "flask",
"direct": false,
"version": "3.1.3",
"ecosystem": "pypi"
},
{
"name": "flask-cors",
"direct": false,
"version": "6.0.5",
"ecosystem": "pypi"
},
{
"name": "flask-login",
"direct": false,
"version": "0.6.3",
"ecosystem": "pypi"
},
{
"name": "flatten-json",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fonttools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "frozenlist",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "funcparserlib",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "gevent",
"direct": false,
"version": "25.9.1",
"ecosystem": "pypi"
},
{
"name": "geventhttpclient",
"direct": false,
"version": "2.3.9",
"ecosystem": "pypi"
},
{
"name": "ghp-import",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "gitdb",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "gitpython",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "google-api-core",
"direct": false,
"version": "2.32.0",
"ecosystem": "pypi"
},
{
"name": "google-auth",
"direct": false,
"version": "2.56.0",
"ecosystem": "pypi"
},
{
"name": "google-generativeai",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "googleapis-common-protos",
"direct": false,
"version": "1.75.0",
"ecosystem": "pypi"
},
{
"name": "gprof2dot",
"direct": false,
"version": "2025.4.14",
"ecosystem": "pypi"
},
{
"name": "graphql-core",
"direct": false,
"version": "3.2.11",
"ecosystem": "pypi"
},
{
"name": "greenlet",
"direct": false,
"version": "3.5.3",
"ecosystem": "pypi"
},
{
"name": "griffelib",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "grpcio",
"direct": false,
"version": "1.83.0",
"ecosystem": "pypi"
},
{
"name": "grpcio-reflection",
"direct": false,
"version": "1.83.0",
"ecosystem": "pypi"
},
{
"name": "grpcio-tools",
"direct": false,
"version": "1.83.0",
"ecosystem": "pypi"
},
{
"name": "h11",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "h2",
"direct": false,
"version": "4.3.0",
"ecosystem": "pypi"
},
{
"name": "harfile",
"direct": false,
"version": "0.5.0",
"ecosystem": "pypi"
},
{
"name": "hatchling",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "hiredis",
"direct": false,
"version": "3.4.0",
"ecosystem": "pypi"
},
{
"name": "hpack",
"direct": false,
"version": "4.2.0",
"ecosystem": "pypi"
},
{
"name": "html2text",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "html5lib",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "htmlmin2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "httpcore",
"direct": false,
"version": "1.0.9",
"ecosystem": "pypi"
},
{
"name": "httptools",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "httpx-sse",
"direct": false,
"version": "0.4.3",
"ecosystem": "pypi"
},
{
"name": "hyperframe",
"direct": false,
"version": "6.1.0",
"ecosystem": "pypi"
},
{
"name": "hypothesis",
"direct": false,
"version": "6.156.6",
"ecosystem": "pypi"
},
{
"name": "hypothesis-graphql",
"direct": false,
"version": "0.13.1",
"ecosystem": "pypi"
},
{
"name": "hypothesis-jsonschema",
"direct": false,
"version": "0.23.1",
"ecosystem": "pypi"
},
{
"name": "ibm-watsonx-ai",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "id",
"direct": false,
"version": "1.6.1",
"ecosystem": "pypi"
},
{
"name": "identify",
"direct": false,
"version": "2.6.19",
"ecosystem": "pypi"
},
{
"name": "immutabledict",
"direct": false,
"version": "4.3.1",
"ecosystem": "pypi"
},
{
"name": "importlab",
"direct": false,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "importlib-metadata",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "importlib-metadata",
"direct": false,
"version": "9.0.0",
"ecosystem": "pypi"
},
{
"name": "iniconfig",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "inquirer",
"direct": false,
"version": "3.4.1",
"ecosystem": "pypi"
},
{
"name": "isort",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "isort",
"direct": false,
"version": "8.0.1",
"ecosystem": "pypi"
},
{
"name": "itsdangerous",
"direct": false,
"version": "2.2.0",
"ecosystem": "pypi"
},
{
"name": "jaraco-classes",
"direct": false,
"version": "3.4.0",
"ecosystem": "pypi"
},
{
"name": "jaraco-context",
"direct": false,
"version": "6.1.2",
"ecosystem": "pypi"
},
{
"name": "jaraco-functools",
"direct": false,
"version": "4.6.0",
"ecosystem": "pypi"
},
{
"name": "jeepney",
"direct": false,
"version": "0.9.0",
"ecosystem": "pypi"
},
{
"name": "jinxed",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "jiter",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "joserfc",
"direct": false,
"version": "1.7.3",
"ecosystem": "pypi"
},
{
"name": "jsbeautifier",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "jsmin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "json-rpc",
"direct": false,
"version": "1.15.0",
"ecosystem": "pypi"
},
{
"name": "jsonpatch",
"direct": false,
"version": "1.33",
"ecosystem": "pypi"
},
{
"name": "jsonpointer",
"direct": false,
"version": "3.1.1",
"ecosystem": "pypi"
},
{
"name": "jsonref",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema-path",
"direct": false,
"version": "0.5.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema-rs",
"direct": false,
"version": "0.48.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema-specifications",
"direct": false,
"version": "2025.9.1",
"ecosystem": "pypi"
},
{
"name": "keyring",
"direct": false,
"version": "25.7.0",
"ecosystem": "pypi"
},
{
"name": "langchain-core",
"direct": false,
"version": "1.5.1",
"ecosystem": "pypi"
},
{
"name": "langchain-mcp-adapters",
"direct": false,
"version": "0.3.0",
"ecosystem": "pypi"
},
{
"name": "langchain-ollama",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "langchain-openai",
"direct": false,
"version": "1.4.1",
"ecosystem": "pypi"
},
{
"name": "langchain-protocol",
"direct": false,
"version": "0.0.18",
"ecosystem": "pypi"
},
{
"name": "langgraph",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "langgraph-checkpoint",
"direct": false,
"version": "4.1.1",
"ecosystem": "pypi"
},
{
"name": "langgraph-prebuilt",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "langgraph-sdk",
"direct": false,
"version": "0.3.15",
"ecosystem": "pypi"
},
{
"name": "langsmith",
"direct": false,
"version": "0.10.10",
"ecosystem": "pypi"
},
{
"name": "libcst",
"direct": false,
"version": "1.8.6",
"ecosystem": "pypi"
},
{
"name": "librt",
"direct": false,
"version": "0.13.0",
"ecosystem": "pypi"
},
{
"name": "libsass",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "license-expression",
"direct": false,
"version": "30.4.4",
"ecosystem": "pypi"
},
{
"name": "linkify-it-py",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "livereload",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "locust",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "locust",
"direct": false,
"version": "2.45.0",
"ecosystem": "pypi"
},
{
"name": "lupa",
"direct": false,
"version": "2.8",
"ecosystem": "pypi"
},
{
"name": "lxml",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mando",
"direct": false,
"version": "0.7.1",
"ecosystem": "pypi"
},
{
"name": "markdown",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markdown-blockdiag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markdown-include",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markdown-it-py",
"direct": false,
"version": "4.2.0",
"ecosystem": "pypi"
},
{
"name": "markdownify",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markupsafe",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "markupsafe",
"direct": false,
"version": "3.0.3",
"ecosystem": "pypi"
},
{
"name": "matplotlib",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "maturin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "maturin",
"direct": false,
"version": "1.14.1",
"ecosystem": "pypi"
},
{
"name": "mcp-contextforge-gateway",
"direct": false,
"version": "1.0.6",
"ecosystem": "pypi"
},
{
"name": "mdit-py-plugins",
"direct": false,
"version": "0.6.1",
"ecosystem": "pypi"
},
{
"name": "mdurl",
"direct": false,
"version": "0.1.2",
"ecosystem": "pypi"
},
{
"name": "memory-profiler",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "memray",
"direct": false,
"version": "1.19.3",
"ecosystem": "pypi"
},
{
"name": "mergedeep",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mike",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-awesome-pages-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-blog-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-enumerate-headings-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-git-authors-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-git-revision-date-localized-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-glightbox",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-include-markdown-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-material",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-material-extensions",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-mermaid-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-mermaid2-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-minify-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-pdf-export-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-plugin-inline-svg",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-rss-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-table-reader-plugin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocs-with-pdf",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mkdocstrings",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "more-itertools",
"direct": false,
"version": "11.1.0",
"ecosystem": "pypi"
},
{
"name": "msgspec",
"direct": false,
"version": "0.21.1",
"ecosystem": "pypi"
},
{
"name": "multidict",
"direct": false,
"version": "6.7.1",
"ecosystem": "pypi"
},
{
"name": "mypy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mypy",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "mypy-extensions",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "natsort",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "networkx",
"direct": false,
"version": "3.6.1",
"ecosystem": "pypi"
},
{
"name": "nh3",
"direct": false,
"version": "0.3.6",
"ecosystem": "pypi"
},
{
"name": "ninja",
"direct": false,
"version": "1.13.0",
"ecosystem": "pypi"
},
{
"name": "nodeenv",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "nwdiag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "oauthlib",
"direct": false,
"version": "3.3.1",
"ecosystem": "pypi"
},
{
"name": "ollama",
"direct": false,
"version": "0.6.2",
"ecosystem": "pypi"
},
{
"name": "openai",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "openai",
"direct": false,
"version": "2.46.0",
"ecosystem": "pypi"
},
{
"name": "openapi-pydantic",
"direct": false,
"version": "0.5.1",
"ecosystem": "pypi"
},
{
"name": "openpyxl",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "opentelemetry-api",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-common",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-grpc",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-http",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-proto",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-sdk",
"direct": false,
"version": "1.44.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-semantic-conventions",
"direct": false,
"version": "0.65b0",
"ecosystem": "pypi"
},
{
"name": "ormsgpack",
"direct": false,
"version": "1.12.2",
"ecosystem": "pypi"
},
{
"name": "outcome",
"direct": false,
"version": "1.3.0.post0",
"ecosystem": "pypi"
},
{
"name": "packageurl-python",
"direct": false,
"version": "0.17.6",
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "26.2",
"ecosystem": "pypi"
},
{
"name": "paginate",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pandas",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pathable",
"direct": false,
"version": "0.6.0",
"ecosystem": "pypi"
},
{
"name": "pathspec",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pathspec",
"direct": false,
"version": "1.1.1",
"ecosystem": "pypi"
},
{
"name": "pexpect",
"direct": false,
"version": "4.9.0",
"ecosystem": "pypi"
},
{
"name": "pillow",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pip",
"direct": false,
"version": "26.1.2",
"ecosystem": "pypi"
},
{
"name": "pip-api",
"direct": false,
"version": "0.0.34",
"ecosystem": "pypi"
},
{
"name": "pip-audit",
"direct": false,
"version": "2.10.1",
"ecosystem": "pypi"
},
{
"name": "pip-licenses",
"direct": false,
"version": "5.5.5",
"ecosystem": "pypi"
},
{
"name": "pip-requirements-parser",
"direct": false,
"version": "32.0.1",
"ecosystem": "pypi"
},
{
"name": "pipdeptree",
"direct": false,
"version": "3.1.1",
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": false,
"version": "4.10.0",
"ecosystem": "pypi"
},
{
"name": "playwright",
"direct": false,
"version": "1.61.0",
"ecosystem": "pypi"
},
{
"name": "plotly",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pluggy",
"direct": false,
"version": "1.6.0",
"ecosystem": "pypi"
},
{
"name": "pre-commit",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pre-commit",
"direct": false,
"version": "4.6.0",
"ecosystem": "pypi"
},
{
"name": "prettytable",
"direct": false,
"version": "3.18.0",
"ecosystem": "pypi"
},
{
"name": "propcache",
"direct": false,
"version": "0.5.2",
"ecosystem": "pypi"
},
{
"name": "proto-plus",
"direct": false,
"version": "1.28.1",
"ecosystem": "pypi"
},
{
"name": "protobuf",
"direct": false,
"version": "7.35.1",
"ecosystem": "pypi"
},
{
"name": "psycopg",
"direct": false,
"version": "3.3.4",
"ecosystem": "pypi"
},
{
"name": "psycopg-binary",
"direct": false,
"version": "3.3.4",
"ecosystem": "pypi"
},
{
"name": "psycopg-c",
"direct": false,
"version": "3.3.4",
"ecosystem": "pypi"
},
{
"name": "ptyprocess",
"direct": false,
"version": "0.7.0",
"ecosystem": "pypi"
},
{
"name": "py-cpuinfo",
"direct": false,
"version": "9.0.0",
"ecosystem": "pypi"
},
{
"name": "py-key-value-aio",
"direct": false,
"version": "0.4.5",
"ecosystem": "pypi"
},
{
"name": "py-serializable",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "py-spy",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "pyarrow",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyasn1",
"direct": false,
"version": "0.6.4",
"ecosystem": "pypi"
},
{
"name": "pyasn1-modules",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "pycnite",
"direct": false,
"version": "2024.7.31",
"ecosystem": "pypi"
},
{
"name": "pycparser",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pycparser",
"direct": false,
"version": "3.0",
"ecosystem": "pypi"
},
{
"name": "pydantic-core",
"direct": false,
"version": "2.46.4",
"ecosystem": "pypi"
},
{
"name": "pydocstyle",
"direct": false,
"version": "6.3.0",
"ecosystem": "pypi"
},
{
"name": "pydot",
"direct": false,
"version": "4.0.1",
"ecosystem": "pypi"
},
{
"name": "pydyf",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyee",
"direct": false,
"version": "13.0.1",
"ecosystem": "pypi"
},
{
"name": "pyflakes",
"direct": false,
"version": "3.4.0",
"ecosystem": "pypi"
},
{
"name": "pygithub",
"direct": false,
"version": "2.9.1",
"ecosystem": "pypi"
},
{
"name": "pygments",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pygments",
"direct": false,
"version": "2.20.0",
"ecosystem": "pypi"
},
{
"name": "pymdown-extensions",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pymupdf",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pynacl",
"direct": false,
"version": "1.6.2",
"ecosystem": "pypi"
},
{
"name": "pyparsing",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyparsing",
"direct": false,
"version": "3.3.2",
"ecosystem": "pypi"
},
{
"name": "pyperclip",
"direct": false,
"version": "1.11.0",
"ecosystem": "pypi"
},
{
"name": "pyphen",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyproject-api",
"direct": false,
"version": "1.10.1",
"ecosystem": "pypi"
},
{
"name": "pyproject-hooks",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "pyrate-limiter",
"direct": false,
"version": "4.4.0",
"ecosystem": "pypi"
},
{
"name": "pyrefly",
"direct": false,
"version": "1.1.1",
"ecosystem": "pypi"
},
{
"name": "pyright",
"direct": false,
"version": "1.1.411",
"ecosystem": "pypi"
},
{
"name": "pyroma",
"direct": false,
"version": "5.0.1",
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": "9.1.1",
"ecosystem": "pypi"
},
{
"name": "pytest-asyncio",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-asyncio",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "pytest-base-url",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "pytest-benchmark",
"direct": false,
"version": "5.2.3",
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": "7.1.0",
"ecosystem": "pypi"
},
{
"name": "pytest-env",
"direct": false,
"version": "1.6.0",
"ecosystem": "pypi"
},
{
"name": "pytest-examples",
"direct": false,
"version": "0.0.18",
"ecosystem": "pypi"
},
{
"name": "pytest-html",
"direct": false,
"version": "4.2.0",
"ecosystem": "pypi"
},
{
"name": "pytest-httpx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-httpx",
"direct": false,
"version": "0.36.2",
"ecosystem": "pypi"
},
{
"name": "pytest-instafail",
"direct": false,
"version": "0.5.0",
"ecosystem": "pypi"
},
{
"name": "pytest-integration-mark",
"direct": false,
"version": "0.2.0",
"ecosystem": "pypi"
},
{
"name": "pytest-metadata",
"direct": false,
"version": "3.1.1",
"ecosystem": "pypi"
},
{
"name": "pytest-mock",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-playwright",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "pytest-rerunfailures",
"direct": false,
"version": "16.4",
"ecosystem": "pypi"
},
{
"name": "pytest-timeout",
"direct": false,
"version": "2.4.0",
"ecosystem": "pypi"
},
{
"name": "pytest-trio",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "pytest-xdist",
"direct": false,
"version": "3.8.0",
"ecosystem": "pypi"
},
{
"name": "python-dateutil",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-dateutil",
"direct": false,
"version": "2.9.0.post0",
"ecosystem": "pypi"
},
{
"name": "python-discovery",
"direct": false,
"version": "1.4.4",
"ecosystem": "pypi"
},
{
"name": "python-docx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": false,
"version": "1.2.2",
"ecosystem": "pypi"
},
{
"name": "python-engineio",
"direct": false,
"version": "4.13.3",
"ecosystem": "pypi"
},
{
"name": "python-owasp-zap-v2-4",
"direct": false,
"version": "0.1.0",
"ecosystem": "pypi"
},
{
"name": "python-pptx",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "python-slugify",
"direct": false,
"version": "8.0.4",
"ecosystem": "pypi"
},
{
"name": "python-socketio",
"direct": false,
"version": "5.16.3",
"ecosystem": "pypi"
},
{
"name": "pytokens",
"direct": false,
"version": "0.4.1",
"ecosystem": "pypi"
},
{
"name": "pytype",
"direct": false,
"version": "2024.10.11",
"ecosystem": "pypi"
},
{
"name": "pytz",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyupgrade",
"direct": false,
"version": "3.21.2",
"ecosystem": "pypi"
},
{
"name": "pywin32",
"direct": false,
"version": "312",
"ecosystem": "pypi"
},
{
"name": "pywin32-ctypes",
"direct": false,
"version": "0.2.3",
"ecosystem": "pypi"
},
{
"name": "pyyaml-env-tag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyyaml-ft",
"direct": false,
"version": "8.0.0",
"ecosystem": "pypi"
},
{
"name": "pyzmq",
"direct": false,
"version": "27.1.0",
"ecosystem": "pypi"
},
{
"name": "radon",
"direct": false,
"version": "6.0.1",
"ecosystem": "pypi"
},
{
"name": "rank-bm25",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "readability-lxml",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "readchar",
"direct": false,
"version": "4.2.2",
"ecosystem": "pypi"
},
{
"name": "readme-renderer",
"direct": false,
"version": "45.0",
"ecosystem": "pypi"
},
{
"name": "referencing",
"direct": false,
"version": "0.37.0",
"ecosystem": "pypi"
},
{
"name": "regex",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "regex",
"direct": false,
"version": "2026.7.10",
"ecosystem": "pypi"
},
{
"name": "requests-toolbelt",
"direct": false,
"version": "1.0.0",
"ecosystem": "pypi"
},
{
"name": "restrictedpython",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "rfc3986",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "rich",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "rich",
"direct": false,
"version": "15.0.0",
"ecosystem": "pypi"
},
{
"name": "rich-rst",
"direct": false,
"version": "2.1.0",
"ecosystem": "pypi"
},
{
"name": "rpds-py",
"direct": false,
"version": "2026.6.3",
"ecosystem": "pypi"
},
{
"name": "ruff",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ruff",
"direct": false,
"version": "0.15.22",
"ecosystem": "pypi"
},
{
"name": "runs",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "schemathesis",
"direct": false,
"version": "4.23.0",
"ecosystem": "pypi"
},
{
"name": "scikit-learn",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "scipy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "seaborn",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "secretstorage",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "sentence-transformers",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "seqdiag",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "settings-doc",
"direct": false,
"version": "4.3.2",
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": "83.0.0",
"ecosystem": "pypi"
},
{
"name": "shellingham",
"direct": false,
"version": "1.5.4",
"ecosystem": "pypi"
},
{
"name": "simple-websocket",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "six",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "six",
"direct": false,
"version": "1.17.0",
"ecosystem": "pypi"
},
{
"name": "smmap",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "snakeviz",
"direct": false,
"version": "2.2.2",
"ecosystem": "pypi"
},
{
"name": "sniffio",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "snowballstemmer",
"direct": false,
"version": "3.1.1",
"ecosystem": "pypi"
},
{
"name": "sortedcontainers",
"direct": false,
"version": "2.4.0",
"ecosystem": "pypi"
},
{
"name": "soupsieve",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "starlette-testclient",
"direct": false,
"version": "0.4.1",
"ecosystem": "pypi"
},
{
"name": "statsmodels",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "stevedore",
"direct": false,
"version": "5.9.0",
"ecosystem": "pypi"
},
{
"name": "tabulate",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tabulate",
"direct": false,
"version": "0.10.0",
"ecosystem": "pypi"
},
{
"name": "tenacity",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tenacity",
"direct": false,
"version": "9.1.4",
"ecosystem": "pypi"
},
{
"name": "text-unidecode",
"direct": false,
"version": "1.3",
"ecosystem": "pypi"
},
{
"name": "textstat",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "textual",
"direct": false,
"version": "8.2.8",
"ecosystem": "pypi"
},
{
"name": "tiktoken",
"direct": false,
"version": "0.13.0",
"ecosystem": "pypi"
},
{
"name": "tinycss2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tokenize-rt",
"direct": false,
"version": "6.2.0",
"ecosystem": "pypi"
},
{
"name": "toml",
"direct": false,
"version": "0.10.2",
"ecosystem": "pypi"
},
{
"name": "tomli",
"direct": false,
"version": "2.4.1",
"ecosystem": "pypi"
},
{
"name": "tomli-w",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "tomlkit",
"direct": false,
"version": "0.15.1",
"ecosystem": "pypi"
},
{
"name": "tornado",
"direct": false,
"version": "6.5.7",
"ecosystem": "pypi"
},
{
"name": "tox",
"direct": false,
"version": "4.56.4",
"ecosystem": "pypi"
},
{
"name": "tox-uv",
"direct": false,
"version": "1.35.2",
"ecosystem": "pypi"
},
{
"name": "tox-uv-bare",
"direct": false,
"version": "1.35.2",
"ecosystem": "pypi"
},
{
"name": "tqdm",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tqdm",
"direct": false,
"version": "4.68.4",
"ecosystem": "pypi"
},
{
"name": "trio",
"direct": false,
"version": "0.33.0",
"ecosystem": "pypi"
},
{
"name": "trove-classifiers",
"direct": false,
"version": "2026.6.1.19",
"ecosystem": "pypi"
},
{
"name": "twine",
"direct": false,
"version": "6.2.0",
"ecosystem": "pypi"
},
{
"name": "ty",
"direct": false,
"version": "0.0.60",
"ecosystem": "pypi"
},
{
"name": "types-tabulate",
"direct": false,
"version": "0.10.0.20260508",
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": false,
"version": "4.16.0",
"ecosystem": "pypi"
},
{
"name": "typing-inspection",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "tzdata",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tzdata",
"direct": false,
"version": "2026.3",
"ecosystem": "pypi"
},
{
"name": "uc-micro-py",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "uncalled-for",
"direct": false,
"version": "0.3.2",
"ecosystem": "pypi"
},
{
"name": "url-normalize",
"direct": false,
"version": "3.0.0",
"ecosystem": "pypi"
},
{
"name": "uuid-utils",
"direct": false,
"version": "0.17.0",
"ecosystem": "pypi"
},
{
"name": "uv",
"direct": false,
"version": "0.11.29",
"ecosystem": "pypi"
},
{
"name": "uvloop",
"direct": false,
"version": "0.22.1",
"ecosystem": "pypi"
},
{
"name": "virtualenv",
"direct": false,
"version": "21.6.1",
"ecosystem": "pypi"
},
{
"name": "watchdog",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "watchfiles",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "wcmatch",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "wcwidth",
"direct": false,
"version": "0.8.2",
"ecosystem": "pypi"
},
{
"name": "weasyprint",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "webcolors",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "webencodings",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "websocket-client",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "websockets",
"direct": false,
"version": "16.1",
"ecosystem": "pypi"
},
{
"name": "werkzeug",
"direct": false,
"version": "3.1.8",
"ecosystem": "pypi"
},
{
"name": "wrapt",
"direct": false,
"version": "2.2.2",
"ecosystem": "pypi"
},
{
"name": "wsproto",
"direct": false,
"version": "1.3.2",
"ecosystem": "pypi"
},
{
"name": "xmod",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "xxhash",
"direct": false,
"version": "3.8.1",
"ecosystem": "pypi"
},
{
"name": "yarl",
"direct": false,
"version": "1.24.2",
"ecosystem": "pypi"
},
{
"name": "zaproxy",
"direct": false,
"version": "0.6.0",
"ecosystem": "pypi"
},
{
"name": "zipp",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "zipp",
"direct": false,
"version": "4.1.0",
"ecosystem": "pypi"
},
{
"name": "zope-event",
"direct": false,
"version": "6.2",
"ecosystem": "pypi"
},
{
"name": "zope-interface",
"direct": false,
"version": "8.5",
"ecosystem": "pypi"
},
{
"name": "zopfli",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "zstandard",
"direct": false,
"version": "0.25.0",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 1660,
"direct_count": 64,
"indirect_count": 1596
}
},
"maintainership": {
"issues": {
"open_prs": 263,
"merged_prs": 2216,
"open_issues": 938,
"closed_ratio": 0.681,
"closed_issues": 1999,
"closed_unmerged_prs": 513
},
"bus_factor": 3,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "crivetimihai",
"commits": 1143,
"avatar_url": "https://avatars.githubusercontent.com/u/8157583?v=4"
},
{
"type": "User",
"login": "madhav165",
"commits": 229,
"avatar_url": "https://avatars.githubusercontent.com/u/12028265?v=4"
},
{
"type": "User",
"login": "kevalmahajan",
"commits": 203,
"avatar_url": "https://avatars.githubusercontent.com/u/65884586?v=4"
},
{
"type": "User",
"login": "rakdutta",
"commits": 134,
"avatar_url": "https://avatars.githubusercontent.com/u/66672470?v=4"
},
{
"type": "User",
"login": "jonpspri",
"commits": 109,
"avatar_url": "https://avatars.githubusercontent.com/u/2462804?v=4"
},
{
"type": "User",
"login": "shoummu1",
"commits": 82,
"avatar_url": "https://avatars.githubusercontent.com/u/55126549?v=4"
},
{
"type": "User",
"login": "lucarlig",
"commits": 68,
"avatar_url": "https://avatars.githubusercontent.com/u/20149527?v=4"
},
{
"type": "User",
"login": "gcgoncalves",
"commits": 63,
"avatar_url": "https://avatars.githubusercontent.com/u/4565419?v=4"
},
{
"type": "User",
"login": "bogdanmariusc10",
"commits": 60,
"avatar_url": "https://avatars.githubusercontent.com/u/118976875?v=4"
},
{
"type": "User",
"login": "Jay-IRL",
"commits": 59,
"avatar_url": "https://avatars.githubusercontent.com/u/203753083?v=4"
}
],
"contributors_sampled": 100,
"top_contributor_share": 0.387
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"alembic-upgrade-validation.yml",
"compose-prod-smoke-required.yml",
"compose-prod-smoke.yml",
"dependency-review.yml",
"docker-multiplatform.yml",
"docker-required.yml",
"docker-scan-required.yml",
"docker-scan.yml",
"helm-publish.yml",
"license-check.yml",
"lint-web.yml",
"lint.yml",
"linting-full.yml",
"linting-required.yml",
"notify-slack-failure.yml",
"notify-slack-merge-queue-ejection.yml",
"playwright-smoke.yml",
"plugin-integration-required.yml",
"plugin-integration.yml",
"pre-commit.yml",
"pytest-rust.yml",
"pytest.yml",
"python-package.yml",
"rust.yml",
"vitest.yml",
"wrapper.yml"
],
"has_docs_dir": true,
"linter_configs": [
".pylintrc",
".ruff.toml",
"eslint.config.js",
"tox.ini"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"Cargo.lock",
"package-lock.json",
"uv.lock"
],
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 8,
"reason": "Found 26/30 approved changesets -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 13 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 10,
"reason": "project is fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 22 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": null,
"reason": "internal error: internal error: invalid Dockerfile",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 9,
"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": 6,
"reason": "4 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "a48826ba0b07bd7b2a33123d67396a39dc23289d",
"ran_at": "2026-08-03T01:14:57Z",
"aggregate_score": 7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 36,
"decided_7d": 38,
"merged_30d": 51,
"authors_30d": 19,
"decided_30d": 59,
"sample_size": 60,
"window_days": 30,
"sample_exhausted": false,
"authors_probed_30d": 12,
"newcomer_merged_30d": 4,
"bot_prs_excluded_30d": 0,
"newcomer_authors_30d": 5,
"newcomer_decided_30d": 6
},
"ci_last_run_at": "2026-07-31T14:31:19Z",
"oldest_open_prs": [
{
"number": 3149,
"created_at": "2026-02-24T09:23:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3190,
"created_at": "2026-02-24T10:05:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3406,
"created_at": "2026-03-02T19:55:16Z",
"last_comment_at": "2026-03-05T14:10:40Z",
"last_comment_author": "crivetimihai"
},
{
"number": 3568,
"created_at": "2026-03-09T20:10:34Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3569,
"created_at": "2026-03-09T21:39:18Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3584,
"created_at": "2026-03-10T12:36:51Z",
"last_comment_at": "2026-04-13T08:03:25Z",
"last_comment_author": "vishu-bh"
},
{
"number": 3594,
"created_at": "2026-03-10T16:59:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3618,
"created_at": "2026-03-11T13:38:56Z",
"last_comment_at": "2026-03-11T13:41:42Z",
"last_comment_author": "hughhennelly"
},
{
"number": 3626,
"created_at": "2026-03-11T16:12:09Z",
"last_comment_at": "2026-04-09T21:01:31Z",
"last_comment_author": "jonpspri"
},
{
"number": 3631,
"created_at": "2026-03-12T02:34:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3658,
"created_at": "2026-03-12T23:29:30Z",
"last_comment_at": "2026-05-03T01:09:37Z",
"last_comment_author": "araujof"
},
{
"number": 3659,
"created_at": "2026-03-13T00:39:08Z",
"last_comment_at": "2026-03-14T13:55:05Z",
"last_comment_author": "crivetimihai"
},
{
"number": 3664,
"created_at": "2026-03-13T13:08:09Z",
"last_comment_at": "2026-04-09T21:06:23Z",
"last_comment_author": "jonpspri"
},
{
"number": 3683,
"created_at": "2026-03-14T13:08:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3702,
"created_at": "2026-03-17T09:24:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3703,
"created_at": "2026-03-17T09:26:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 3713,
"created_at": "2026-03-17T23:10:03Z",
"last_comment_at": "2026-05-01T20:10:14Z",
"last_comment_author": "araujof"
},
{
"number": 3766,
"created_at": "2026-03-20T14:45:47Z",
"last_comment_at": "2026-04-09T21:20:48Z",
"last_comment_author": "jonpspri"
},
{
"number": 3767,
"created_at": "2026-03-20T14:57:16Z",
"last_comment_at": "2026-03-21T16:48:31Z",
"last_comment_author": "AbdulR11"
},
{
"number": 3771,
"created_at": "2026-03-20T16:59:20Z",
"last_comment_at": "2026-04-09T21:23:38Z",
"last_comment_author": "jonpspri"
}
],
"last_merged_pr_at": "2026-07-31T14:26:51Z",
"ci_last_conclusion": "SKIPPED",
"oldest_open_issues": [
{
"number": 123,
"created_at": "2025-06-17T21:05:38Z",
"last_comment_at": "2025-06-28T13:55:45Z",
"last_comment_author": "manavgup"
},
{
"number": 172,
"created_at": "2025-06-25T11:16:41Z",
"last_comment_at": "2026-03-05T14:19:08Z",
"last_comment_author": "crivetimihai"
},
{
"number": 175,
"created_at": "2025-06-25T16:29:49Z",
"last_comment_at": "2026-07-02T15:23:40Z",
"last_comment_author": "vishu-bh"
},
{
"number": 182,
"created_at": "2025-06-26T01:30:16Z",
"last_comment_at": "2026-02-12T10:26:07Z",
"last_comment_author": "nitin302"
},
{
"number": 216,
"created_at": "2025-07-02T18:26:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 223,
"created_at": "2025-07-03T08:00:48Z",
"last_comment_at": "2026-03-16T09:08:20Z",
"last_comment_author": "JazzyMento"
},
{
"number": 250,
"created_at": "2025-07-06T05:57:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 251,
"created_at": "2025-07-06T06:04:40Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 253,
"created_at": "2025-07-06T06:22:16Z",
"last_comment_at": "2026-07-17T08:37:37Z",
"last_comment_author": "HarperZ9"
},
{
"number": 257,
"created_at": "2025-07-06T07:06:39Z",
"last_comment_at": "2026-03-07T16:24:46Z",
"last_comment_author": "crivetimihai"
},
{
"number": 258,
"created_at": "2025-07-06T07:11:22Z",
"last_comment_at": "2026-03-18T22:47:52Z",
"last_comment_author": "m13v"
},
{
"number": 259,
"created_at": "2025-07-06T07:29:34Z",
"last_comment_at": "2026-04-13T09:36:25Z",
"last_comment_author": "jonpspri"
},
{
"number": 260,
"created_at": "2025-07-06T07:42:36Z",
"last_comment_at": "2026-04-13T09:31:24Z",
"last_comment_author": "jonpspri"
},
{
"number": 262,
"created_at": "2025-07-06T08:54:37Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 263,
"created_at": "2025-07-06T08:57:28Z",
"last_comment_at": "2026-02-05T00:37:59Z",
"last_comment_author": "joaquinariasco-lab"
},
{
"number": 267,
"created_at": "2025-07-06T10:44:46Z",
"last_comment_at": "2026-03-03T09:23:06Z",
"last_comment_author": "sco3"
},
{
"number": 268,
"created_at": "2025-07-06T10:49:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 269,
"created_at": "2025-07-06T10:50:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 270,
"created_at": "2025-07-06T10:52:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 272,
"created_at": "2025-07-06T10:58:48Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/IBM/mcp-context-forge",
"host": "github.com",
"name": "mcp-context-forge",
"owner": "IBM"
},
"metrics": {
"overall": {
"key": "overall",
"band": "exceptional",
"name": "Overall health",
"note": "The weighted overall 88 is calibrated to 98 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 88,
"calibrated": 98,
"calibration": "2026-08-02"
}
}
],
"value": 98,
"inputs": {
"security": 76,
"vitality": 96,
"community": 91,
"governance": 80,
"calibration": "2026-08-02",
"engineering": 100,
"ai_readiness": 79,
"weighted_overall_raw": 88
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "exceptional",
"name": "Vitality",
"value": 96,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "exceptional",
"name": "Development activity",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"commits_last_year": 2223,
"human_commit_share": 1,
"days_since_last_push": 1,
"active_weeks_last_year": 52
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "52/52 weeks with commits",
"points": 36,
"status": "met",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 52
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "2223 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 2223
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 22 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 23,
"latest_release_tag": "v1.0.6",
"releases_from_tags": false,
"days_since_latest_release": 12,
"mean_days_between_releases": 17
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "23 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 23
}
}
],
"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 ~17 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 17
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": 2,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 2 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 2
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 91,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 91,
"inputs": {
"forks": 789,
"stars": 4178,
"watchers": 34,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "4,178 stars",
"points": 58.7,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 4178
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "789 forks",
"points": 24.1,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 789
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "34 watchers",
"points": 8.4,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 34
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 13,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"readme_badge_services": [
"github.com",
"shields.io"
],
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "excellent",
"name": "Sustainability & Governance",
"value": 80,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 100,
"top_contributor_share": 0.387
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 39% of commits",
"points": 13.8,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 39
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "100 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 100
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 13 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"merged_prs": 2216,
"open_issues": 938,
"closed_issues": 1999,
"prs_merged_7d": 36,
"prs_decided_7d": 38,
"prs_merged_30d": 51,
"prs_decided_30d": 59,
"issue_closed_ratio": 0.681,
"closed_unmerged_prs": 513,
"first_time_authors_30d": 5,
"first_time_prs_merged_30d": 4,
"first_time_prs_decided_30d": 6
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "68% of issues closed",
"points": 28.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 68
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "2216/2729 decided PRs merged",
"points": 24.4,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 2216,
"decided": 2729
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "4/6 first-time contributors' PRs merged in 30d",
"points": 8.7,
"status": "partial",
"details": [
{
"code": "newcomer_prs_merged",
"params": {
"days": 30,
"merged": 4,
"decided": 6
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 26/30 approved changesets -- score normalized to 8",
"points": 12,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "excellent",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"followers": 8517,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "IBM",
"public_repos": 3925,
"account_age_days": 5276
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "8,517 followers of IBM",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 8517,
"login": "IBM"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "3925 public repos, account ~14 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 3925
}
},
{
"code": "account_age_years",
"params": {
"years": 14
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"mcp-contextforge-gateway"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 12
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 12 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 12
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "21 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 21
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "exceptional",
"name": "Engineering Quality",
"value": 100,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "exceptional",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "26 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 26
}
}
],
"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": ".pylintrc, .ruff.toml, eslint.config.js, tox.ini",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".pylintrc, .ruff.toml, eslint.config.js, tox.ini"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "exceptional",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"agents",
"ai",
"api-gateway",
"asyncio",
"authentication-middleware",
"devops",
"docker",
"fastapi",
"federation",
"gateway",
"generative-ai",
"jwt",
"kubernetes",
"llm-agents",
"mcp",
"model-context-protocol",
"observability",
"prompt-engineering",
"python",
"tools"
],
"has_wiki": true,
"homepage": "https://ibm.github.io/mcp-context-forge/",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://ibm.github.io/mcp-context-forge/",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "20 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 20
}
}
],
"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": "good",
"name": "Security",
"value": 76,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 70,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 7
},
"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": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "26 out of 26 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 26/30 approved changesets -- score normalized to 8",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 13 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is fuzzed",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 22 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "internal error: internal error: invalid Dockerfile",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "4 existing vulnerabilities detected",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the pypi:mcp-contextforge-gateway@1.0.6 runtime dependency closure — what installing the published package pulls in — 91 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:mcp-contextforge-gateway@1.0.6",
"assessed": 91
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 91,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "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": 91,
"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": 9
},
"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": "good",
"name": "AI Readiness",
"value": 79,
"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.99,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md",
"charts/AGENTS.md",
"docs/AGENTS.md",
"plugins/AGENTS.md",
"tests/AGENTS.md"
],
"agent_instruction_max_bytes": 28726
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md, charts/AGENTS.md, docs/AGENTS.md, plugins/AGENTS.md, tests/AGENTS.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md, charts/AGENTS.md, docs/AGENTS.md, plugins/AGENTS.md, tests/AGENTS.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": "99 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 99,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 82,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Cargo.lock",
"package-lock.json",
"uv.lock"
],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [
"Makefile",
"charts/mcp-stack/Makefile",
"crates/mcp_runtime/Makefile",
"crates/wrapper/Makefile",
"docs/Makefile",
"mcp-servers/python/compliance_reference_server/Makefile",
"mcp-servers/python/data_analysis_server/Makefile",
"mcp-servers/python/graphviz_server/Makefile",
"mcp-servers/python/mcp-rss-search/Makefile",
"mcp-servers/python/mcp_eval_server/Makefile",
"mcp-servers/python/output_schema_test_server/Makefile",
"mcp-servers/python/python_sandbox_server/Makefile",
"mcp-servers/python/url_to_markdown_server/Makefile",
"mcp-servers/templates/go/{{cookiecutter.project_slug}}/Makefile",
"mcp-servers/templates/python/{{cookiecutter.project_slug}}/Makefile",
"plugins/external/cedar/Makefile",
"plugins/external/llmguard/Makefile",
"plugins/external/opa/Makefile",
"tests/client/Makefile",
"tests/load/Makefile",
"tests/performance/Makefile"
],
"has_devcontainer": true,
"has_linter_config": true,
"typecheck_configs": [
"mcpgateway/py.typed"
],
"agent_commit_share": 0.01,
"toolchain_manifests": [
"Cargo.toml",
"crates/mcp_runtime/Cargo.toml",
"crates/request_logging_masking_native_extension/Cargo.toml",
"crates/wrapper/Cargo.toml",
"mcp-servers/templates/go/{{cookiecutter.project_slug}}/go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile, charts/mcp-stack/Makefile, crates/mcp_runtime/Makefile, crates/wrapper/Makefile, docs/Makefile, mcp-servers/python/compliance_reference_server/Makefile, mcp-servers/python/data_analysis_server/Makefile, mcp-servers/python/graphviz_server/Makefile, mcp-servers/python/mcp-rss-search/Makefile, mcp-servers/python/mcp_eval_server/Makefile, mcp-servers/python/output_schema_test_server/Makefile, mcp-servers/python/python_sandbox_server/Makefile, mcp-servers/python/url_to_markdown_server/Makefile, mcp-servers/templates/go/{{cookiecutter.project_slug}}/Makefile, mcp-servers/templates/python/{{cookiecutter.project_slug}}/Makefile, plugins/external/cedar/Makefile, plugins/external/llmguard/Makefile, plugins/external/opa/Makefile, tests/client/Makefile, tests/load/Makefile, tests/performance/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile, charts/mcp-stack/Makefile, crates/mcp_runtime/Makefile, crates/wrapper/Makefile, docs/Makefile, mcp-servers/python/compliance_reference_server/Makefile, mcp-servers/python/data_analysis_server/Makefile, mcp-servers/python/graphviz_server/Makefile, mcp-servers/python/mcp-rss-search/Makefile, mcp-servers/python/mcp_eval_server/Makefile, mcp-servers/python/output_schema_test_server/Makefile, mcp-servers/python/python_sandbox_server/Makefile, mcp-servers/python/url_to_markdown_server/Makefile, mcp-servers/templates/go/{{cookiecutter.project_slug}}/Makefile, mcp-servers/templates/python/{{cookiecutter.project_slug}}/Makefile, plugins/external/cedar/Makefile, plugins/external/llmguard/Makefile, plugins/external/opa/Makefile, tests/client/Makefile, tests/load/Makefile, tests/performance/Makefile"
}
}
],
"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": ".pylintrc, .ruff.toml, eslint.config.js, tox.ini",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".pylintrc, .ruff.toml, eslint.config.js, tox.ini"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "mcpgateway/py.typed",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "mcpgateway/py.typed"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "devcontainer, Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "devcontainer, Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "1 of the last 100 commits agent-authored or agent-credited",
"points": 2,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "internal error: internal error: invalid Dockerfile",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 1246496,
"source_files_sampled": 1737,
"oversized_source_files": 106
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python with type-check config (mcpgateway/py.typed)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "mcpgateway/py.typed",
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "106/1737 source files over 60KB",
"points": 51.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 1737,
"oversized": 106
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"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": {
"labels": [
"network-service",
"cli",
"library",
"mcp-server"
],
"scores": {
"cli": 21,
"library": 15,
"mcp-server": 7,
"network-service": 25
},
"primary": "network-service",
"evidence": [
{
"tier": "declared",
"label": "cli",
"source": "pypi.console_scripts",
"weight": 10
},
{
"tier": "declared",
"label": "library",
"source": "pypi.classifier:Topic :: Software Development :: Libraries",
"weight": 6
},
{
"tier": "distribution",
"label": "library",
"source": "registry:pypi",
"weight": 6
},
{
"tier": "dependencies",
"label": "cli",
"source": "dep:click",
"weight": 4
},
{
"tier": "dependencies",
"label": "cli",
"source": "dep:typer",
"weight": 4
},
{
"tier": "dependencies",
"label": "mcp-server",
"source": "dep:mcp",
"weight": 4
},
{
"tier": "dependencies",
"label": "network-service",
"source": "dep:fastapi",
"weight": 4
},
{
"tier": "dependencies",
"label": "network-service",
"source": "dep:starlette",
"weight": 4
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.helm",
"weight": 4
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.k8s",
"weight": 4
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.serverless",
"weight": 4
},
{
"tier": "structure",
"label": "cli",
"source": "tree.cargo_main",
"weight": 3
},
{
"tier": "structure",
"label": "library",
"source": "tree.cargo_lib",
"weight": 3
},
{
"tier": "structure",
"label": "mcp-server",
"source": "mcp_signal",
"weight": 3
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.compose",
"weight": 3
},
{
"tier": "tags",
"label": "network-service",
"source": "tag:api-gateway",
"weight": 2
}
],
"artifacts": [
{
"path": "Cargo.toml",
"labels": [],
"ecosystem": "crates"
},
{
"path": "pyproject.toml",
"labels": [
"cli",
"library"
],
"ecosystem": "pypi"
}
],
"confidence": "medium",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": true
},
"metrics_version": "2.3.1"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"First-time contributor figures cover 12 of 19 authors (cap 12)"
],
"report_type": "repository",
"generated_at": "2026-08-03T01:15:29.723980Z",
"schema_version": "0.30.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/i/IBM/mcp-context-forge.svg",
"full_name": "IBM/mcp-context-forge",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}