Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [
"agent",
"ai",
"anthropic",
"compression",
"context-engineering",
"context-window",
"fastapi",
"langchain",
"llm",
"mcp",
"openai",
"proxy",
"python",
"rag",
"token-optimization",
"claude-code",
"cursor",
"prompt-engineering",
"tokens",
"typescript"
],
"is_fork": false,
"size_kb": 67553,
"has_wiki": true,
"homepage": "https://headroom-docs.vercel.app/docs",
"languages": {
"C": 7497,
"CSS": 1845,
"HCL": 1815,
"HTML": 211269,
"Rust": 2806294,
"Shell": 63583,
"Python": 16226678,
"PLpgSQL": 11669,
"Makefile": 6763,
"Dockerfile": 20299,
"JavaScript": 13263,
"PowerShell": 67171,
"TypeScript": 436107
},
"pushed_at": "2026-07-21T08:52:25Z",
"created_at": "2026-01-07T19:58:51Z",
"owner_type": "Organization",
"updated_at": "2026-07-21T15:59:28Z",
"description": "Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.",
"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",
"Rust"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "headroomlabs-ai",
"company": null,
"location": null,
"followers": 143,
"avatar_url": "https://avatars.githubusercontent.com/u/294291659?v=4",
"created_at": "2026-06-16T19:16:07Z",
"is_verified": null,
"public_repos": 2,
"account_age_days": 34
},
"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": "v0.32.0",
"kind": "minor",
"published_at": "2026-07-17T04:38:48Z"
},
{
"tag": "v0.31.0",
"kind": "minor",
"published_at": "2026-07-09T15:19:44Z"
},
{
"tag": "v0.30.0",
"kind": "minor",
"published_at": "2026-07-03T19:22:40Z"
},
{
"tag": "v0.29.0",
"kind": "minor",
"published_at": "2026-07-03T06:30:28Z"
},
{
"tag": "v0.28.0",
"kind": "minor",
"published_at": "2026-06-29T21:31:30Z"
},
{
"tag": "v0.27.0",
"kind": "minor",
"published_at": "2026-06-22T05:57:31Z"
},
{
"tag": "v0.26.0",
"kind": "minor",
"published_at": "2026-06-16T23:13:04Z"
},
{
"tag": "v0.25.0",
"kind": "minor",
"published_at": "2026-06-12T06:29:27Z"
},
{
"tag": "v0.24.0",
"kind": "minor",
"published_at": "2026-06-09T04:57:45Z"
},
{
"tag": "v0.23.0",
"kind": "minor",
"published_at": "2026-06-04T14:21:15Z"
},
{
"tag": "v0.22.4",
"kind": "patch",
"published_at": "2026-06-01T22:38:09Z"
},
{
"tag": "v0.22.2",
"kind": "patch",
"published_at": "2026-05-20T03:55:18Z"
},
{
"tag": "v0.22.1",
"kind": "patch",
"published_at": "2026-05-20T03:23:34Z"
},
{
"tag": "v0.22.0",
"kind": "minor",
"published_at": "2026-05-19T17:59:36Z"
},
{
"tag": "v0.21.38",
"kind": "patch",
"published_at": "2026-05-15T04:23:40Z"
},
{
"tag": "v0.21.37",
"kind": "patch",
"published_at": "2026-05-15T03:02:22Z"
},
{
"tag": "v0.21.36",
"kind": "patch",
"published_at": "2026-05-14T01:08:09Z"
},
{
"tag": "v0.21.35",
"kind": "patch",
"published_at": "2026-05-14T00:06:44Z"
},
{
"tag": "v0.21.34",
"kind": "patch",
"published_at": "2026-05-13T23:39:59Z"
},
{
"tag": "v0.21.33",
"kind": "patch",
"published_at": "2026-05-13T18:08:31Z"
},
{
"tag": "v0.21.32",
"kind": "patch",
"published_at": "2026-05-13T01:31:20Z"
},
{
"tag": "v0.21.31",
"kind": "patch",
"published_at": "2026-05-13T00:17:42Z"
},
{
"tag": "v0.21.30",
"kind": "patch",
"published_at": "2026-05-13T00:02:00Z"
},
{
"tag": "v0.21.29",
"kind": "patch",
"published_at": "2026-05-12T22:23:21Z"
},
{
"tag": "v0.21.28",
"kind": "patch",
"published_at": "2026-05-12T06:00:13Z"
},
{
"tag": "v0.21.27",
"kind": "patch",
"published_at": "2026-05-12T02:02:57Z"
},
{
"tag": "v0.21.26",
"kind": "patch",
"published_at": "2026-05-11T23:55:40Z"
},
{
"tag": "v0.21.25",
"kind": "patch",
"published_at": "2026-05-11T23:39:00Z"
},
{
"tag": "v0.21.24",
"kind": "patch",
"published_at": "2026-05-11T19:37:32Z"
},
{
"tag": "v0.21.23",
"kind": "patch",
"published_at": "2026-05-11T18:45:55Z"
},
{
"tag": "v0.21.22",
"kind": "patch",
"published_at": "2026-05-11T03:50:22Z"
},
{
"tag": "v0.21.21",
"kind": "patch",
"published_at": "2026-05-10T20:38:53Z"
},
{
"tag": "v0.21.20",
"kind": "patch",
"published_at": "2026-05-10T06:36:32Z"
},
{
"tag": "v0.21.19",
"kind": "patch",
"published_at": "2026-05-10T05:53:02Z"
},
{
"tag": "v0.21.18",
"kind": "patch",
"published_at": "2026-05-10T01:46:52Z"
},
{
"tag": "v0.21.17",
"kind": "patch",
"published_at": "2026-05-09T22:41:19Z"
},
{
"tag": "v0.21.16",
"kind": "patch",
"published_at": "2026-05-09T01:57:25Z"
},
{
"tag": "v0.21.15",
"kind": "patch",
"published_at": "2026-05-09T01:21:08Z"
},
{
"tag": "v0.21.14",
"kind": "patch",
"published_at": "2026-05-09T00:35:32Z"
},
{
"tag": "v0.21.13",
"kind": "patch",
"published_at": "2026-05-08T23:14:17Z"
},
{
"tag": "v0.21.12",
"kind": "patch",
"published_at": "2026-05-08T22:58:09Z"
},
{
"tag": "v0.21.11",
"kind": "patch",
"published_at": "2026-05-08T22:19:08Z"
},
{
"tag": "v0.21.10",
"kind": "patch",
"published_at": "2026-05-08T22:03:25Z"
},
{
"tag": "v0.21.9",
"kind": "patch",
"published_at": "2026-05-08T19:06:33Z"
},
{
"tag": "v0.21.8",
"kind": "patch",
"published_at": "2026-05-08T18:02:09Z"
},
{
"tag": "v0.21.7",
"kind": "patch",
"published_at": "2026-05-08T17:46:24Z"
},
{
"tag": "v0.21.6",
"kind": "patch",
"published_at": "2026-05-08T00:49:56Z"
},
{
"tag": "v0.21.5",
"kind": "patch",
"published_at": "2026-05-08T00:12:45Z"
},
{
"tag": "v0.21.4",
"kind": "patch",
"published_at": "2026-05-06T04:55:53Z"
},
{
"tag": "v0.21.3",
"kind": "patch",
"published_at": "2026-05-06T01:33:30Z"
},
{
"tag": "v0.21.2",
"kind": "patch",
"published_at": "2026-05-05T23:19:21Z"
},
{
"tag": "v0.21.1",
"kind": "patch",
"published_at": "2026-05-05T22:25:24Z"
},
{
"tag": "v0.21.0",
"kind": "minor",
"published_at": "2026-05-05T22:07:12Z"
},
{
"tag": "v0.20.27",
"kind": "patch",
"published_at": "2026-05-05T05:46:25Z"
},
{
"tag": "v0.20.26",
"kind": "patch",
"published_at": "2026-05-05T01:42:06Z"
},
{
"tag": "v0.20.25",
"kind": "patch",
"published_at": "2026-05-05T00:33:46Z"
},
{
"tag": "v0.20.24",
"kind": "patch",
"published_at": "2026-05-04T23:47:39Z"
},
{
"tag": "v0.20.23",
"kind": "patch",
"published_at": "2026-05-04T23:27:49Z"
},
{
"tag": "v0.20.22",
"kind": "patch",
"published_at": "2026-05-04T22:06:21Z"
},
{
"tag": "v0.20.21",
"kind": "patch",
"published_at": "2026-05-04T21:52:51Z"
},
{
"tag": "v0.20.20",
"kind": "patch",
"published_at": "2026-05-04T19:16:44Z"
},
{
"tag": "v0.20.19",
"kind": "patch",
"published_at": "2026-05-04T18:48:56Z"
},
{
"tag": "v0.20.18",
"kind": "patch",
"published_at": "2026-05-04T18:41:21Z"
},
{
"tag": "v0.20.17",
"kind": "patch",
"published_at": "2026-05-04T17:18:52Z"
},
{
"tag": "v0.20.16",
"kind": "patch",
"published_at": "2026-05-04T08:15:41Z"
},
{
"tag": "v0.20.15",
"kind": "patch",
"published_at": "2026-05-03T08:23:23Z"
},
{
"tag": "v0.20.14",
"kind": "patch",
"published_at": "2026-05-03T06:52:50Z"
},
{
"tag": "v0.20.13",
"kind": "patch",
"published_at": "2026-05-03T05:08:09Z"
},
{
"tag": "v0.20.12",
"kind": "patch",
"published_at": "2026-05-02T18:31:51Z"
},
{
"tag": "v0.20.11",
"kind": "patch",
"published_at": "2026-05-02T16:39:52Z"
},
{
"tag": "v0.20.10",
"kind": "patch",
"published_at": "2026-05-02T00:18:30Z"
},
{
"tag": "v0.20.9",
"kind": "patch",
"published_at": "2026-05-02T00:06:00Z"
},
{
"tag": "v0.20.8",
"kind": "patch",
"published_at": "2026-05-01T23:47:48Z"
},
{
"tag": "v0.20.7",
"kind": "patch",
"published_at": "2026-05-01T21:29:53Z"
},
{
"tag": "v0.20.6",
"kind": "patch",
"published_at": "2026-05-01T21:25:52Z"
},
{
"tag": "v0.20.5",
"kind": "patch",
"published_at": "2026-05-01T04:40:46Z"
},
{
"tag": "v0.20.4",
"kind": "patch",
"published_at": "2026-04-30T21:37:51Z"
},
{
"tag": "v0.20.3",
"kind": "patch",
"published_at": "2026-04-30T21:21:34Z"
},
{
"tag": "v0.20.2",
"kind": "patch",
"published_at": "2026-04-30T21:14:16Z"
},
{
"tag": "v0.20.1",
"kind": "patch",
"published_at": "2026-04-30T17:03:57Z"
},
{
"tag": "v0.20.0",
"kind": "minor",
"published_at": "2026-04-30T16:59:53Z"
},
{
"tag": "v0.19.0",
"kind": "minor",
"published_at": "2026-04-30T07:02:25Z"
},
{
"tag": "v0.18.2",
"kind": "patch",
"published_at": "2026-04-30T06:01:37Z"
},
{
"tag": "v0.18.1",
"kind": "patch",
"published_at": "2026-04-30T04:37:48Z"
},
{
"tag": "v0.18.0",
"kind": "minor",
"published_at": "2026-04-30T04:11:54Z"
},
{
"tag": "v0.17.0",
"kind": "minor",
"published_at": "2026-04-30T02:42:06Z"
},
{
"tag": "v0.16.0",
"kind": "minor",
"published_at": "2026-04-30T00:10:37Z"
},
{
"tag": "v0.15.1",
"kind": "patch",
"published_at": "2026-04-29T23:06:57Z"
},
{
"tag": "v0.15.0",
"kind": "minor",
"published_at": "2026-04-29T22:06:58Z"
},
{
"tag": "v0.14.5",
"kind": "patch",
"published_at": "2026-04-29T16:42:24Z"
},
{
"tag": "v0.14.4",
"kind": "patch",
"published_at": "2026-04-29T06:11:56Z"
},
{
"tag": "v0.14.3",
"kind": "patch",
"published_at": "2026-04-29T06:06:28Z"
},
{
"tag": "v0.14.2",
"kind": "patch",
"published_at": "2026-04-29T04:11:30Z"
},
{
"tag": "v0.14.1",
"kind": "patch",
"published_at": "2026-04-28T22:50:04Z"
},
{
"tag": "v0.14.0",
"kind": "minor",
"published_at": "2026-04-28T22:26:44Z"
},
{
"tag": "v0.13.8",
"kind": "patch",
"published_at": "2026-04-28T21:53:24Z"
},
{
"tag": "v0.13.7",
"kind": "patch",
"published_at": "2026-04-28T18:42:28Z"
},
{
"tag": "v0.13.6",
"kind": "patch",
"published_at": "2026-04-28T18:37:17Z"
},
{
"tag": "v0.13.5",
"kind": "patch",
"published_at": "2026-04-28T07:06:49Z"
},
{
"tag": "v0.13.4",
"kind": "patch",
"published_at": "2026-04-28T05:36:24Z"
}
],
"recent_commits": [
{
"oid": "1329ed7f1a8d7a018042ecbe41804b0be971792e",
"body": "## Description\n\nMakes the compression-only `POST /v1/compress` endpoint usable as a\n**network compression sidecar** behind an API gateway (Kong, LiteLLM,\n...), and fixes a latent content-detector hang that silently zeroed\ncompression on non-Windows hosts.\n\nMotivated by a LiteLLM-sidecar deployment w\n[…]\n. Item #2 (observability\nread-only exemption when `HEADROOM_PROXY_TOKEN` is set) is not addressed\nhere.\n- All new config is opt-in and fail-soft; with nothing set, behavior is\nbyte-identical to today.",
"is_bot": false,
"headline": "feat(proxy): make /v1/compress usable as a gateway/Kong sidecar (#2458)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-21T07:27:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f4070c44cbd65ecf49f2ae81ad26a95296ef552b",
"body": "…e prefixes (#2369)\n\n## Description\n\nOn an HTTP tool-output re-read, `cross_turn_dedup` folds a contiguous\nspan that\nalready appeared in an earlier block into a compact pointer, and when\nthe line\nnumbers shifted by a constant it carries the offset as a `delta` so the\noriginal\nbytes recover as `int(n\n[…]\nAdditional Notes\n\nPer `CONTRIBUTING.md` (\"Bug or small fix -> Open a PR with repro +\ntest\"), this\ngoes straight to a PR rather than an issue. One concern only; no\ndependency or\ngenerated-file changes.",
"is_bot": false,
"headline": "fix(transforms/cross-turn-dedup): don't renumber-fold zero-padded lin…",
"author_name": "Ehsan",
"author_login": "ebarkhordar",
"committed_at": "2026-07-21T00:47:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c811007f813becac3dbe885a832dede8daaa7693",
"body": "…nx\" (#2448)\n\n## Description\n\nWith `HEADROOM_KOMPRESS_BACKEND=onnx_coreml`, every Kompress compression\ncall and the startup canary crash with `'_OnnxModel' object has no\nattribute 'parameters'`, so Kompress silently degrades to passthrough\nand `/health` reports `kompress: unhealthy, backend: null`.\n\n[…]\ntead; hardware confirmation is in the issue.\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(kompress): match all ONNX backends with startswith, not exact \"on…",
"author_name": "Parideboy",
"author_login": "Parideboy",
"committed_at": "2026-07-21T00:29:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2eca5ee1140c9ce0a5fee05e604d3198f7f86026",
"body": "## Description\n\nPR https://github.com/headroomlabs-ai/headroom/pull/2445 added the\nmissing OpenCode subscription path, but the shared Copilot subscription\nresolver still lets Business and Enterprise payload hosts route through\nsegmented `*.githubcopilot.com` domains and still drops an explicit\n`GITH\n[…]\nndary: lucasp1337 offered to retest on a Business or\nEnterprise seat in PR\nhttps://github.com/headroomlabs-ai/headroom/pull/2445#issuecomment-5026212395.\nKeep any live success claim behind that rerun.",
"is_bot": false,
"headline": "fix(copilot): normalize subscription API routing (#2441) (#2455)",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-21T00:15:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8c8fae0d0bca75f7f2561136910e40f716be57ab",
"body": "…on (#2449)\n\n## Description\n\nUnder `--target-ratio 0.4` a session died mid-run with a fatal Anthropic\n400:\n\n```\nmessages.13.content.0.server_tool_use.input: Input should be an object\n```\n\nRoot cause is not compression of the request: the request path passes\nstructured blocks through byte-for-byte. I\n[…]\ne reporter observed the 400 on real\ntraffic.\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(proxy): reassemble server_tool_use.input from streamed partial_js…",
"author_name": "Parideboy",
"author_login": "Parideboy",
"committed_at": "2026-07-20T18:04:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "bec4cce8a9f5623e63dba0a847719a652b47d5dc",
"body": "… request (#2450)\n\n## Description\n\nThe per-request JSONL feed (`--log-file`) collapsed all cache signal\ninto a single `cache_hit: bool`, defined as `cache_read_tokens > 0 or\nfrom_response_cache`. A call that was billed cache-*creation* (write)\nwith zero reads is therefore indistinguishable from a re\n[…]\ncarrying real\nprovider-usage values instead.\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(telemetry): record provider cache read/write/uncached tokens per…",
"author_name": "Parideboy",
"author_login": "Parideboy",
"committed_at": "2026-07-20T18:02:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9089e7f7d394b5a474cc99503b0197c0172f4c9c",
"body": "…els (#2441) (#2445)\n\n## Description\n\n`headroom wrap opencode` currently routes `headroom/*` models only to\nordinary Anthropic or OpenAI backends. A user with a GitHub Copilot\nsubscription cannot point those `headroom/*` requests at the Copilot\nseat while keeping Headroom compression and stats, even\n[…]\noxy-seed behavior, but they\ncannot prove a real Copilot seat on this host.\n- `CHANGELOG.md` remains untouched because Headroom's release pipeline\ngenerates changelog entries from conventional commits.",
"is_bot": false,
"headline": "feat(opencode): support Copilot subscription backend for headroom mod…",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-20T18:02:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4aac068814246db3fa250c48f5c916aa2561d8c8",
"body": "… (#2439)\n\n## Description\n\n`PrometheusMetrics.record_request` appends one durable JSONL event per\ncompressed request. That append is synchronous: `open` + `fcntl.flock` +\n`write`, plus a full-file rewrite once the ledger passes 1 MB. It runs\non the event loop, inside `self._lock`.\n\n`export()` takes \n[…]\n_function_response_waste.py`,\n`test_openai_responses_context_compaction.py`) are not in the seven\nlisted earlier; I re-ran both against a reverted `server.py` and they\nhang the same way on both sides.",
"is_bot": false,
"headline": "fix(proxy/metrics): move the savings-ledger append off the event loop…",
"author_name": "inix",
"author_login": "inix-x",
"committed_at": "2026-07-20T18:01:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a7dcb9e91cf59a5bc2f0de85e3b340ece7939ffe",
"body": "## Description\n\nAdds an optional external provider for the information-preserving\ncompaction of protected (excluded) tool output, mirroring the existing\n`proxy_extension` / `compressor` extension seams. Lets an out-of-tree\nextension supply its own reversible compaction for excluded tools\nwithout for\n[…]\nas\n- [x] My changes generate no new warnings\n- [x] I have added tests that prove my feature works\n- [x] New and existing unit tests pass locally with my changes\n- [x] I did **not** edit `CHANGELOG.md`",
"is_bot": false,
"headline": "feat(transforms): pluggable lossless-compaction provider seam (#2433)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-20T17:44:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c400f9081052f633e4e64ad70b95a0230dc6fb3d",
"body": "…2409) (#2414)\n\n## Description\n\nFixes #2409.\n\nGitHub Copilot Claude requests routed through Headroom return `404 page\nnot found`. Copilot serves Claude models at `/v1/messages`, but Headroom\nforwards them to `/messages`, so the upstream 404s (observed on\nOpenCode's GitHub Copilot provider for `claud\n[…]\n against the real\nfunction in the venv (output above) in addition to the unit tests. Scope\nis limited to the messages endpoint (the reported 404); every other\nCopilot path is byte-identical to before.",
"is_bot": false,
"headline": "fix(copilot): preserve /v1 for the Anthropic /v1/messages endpoint (#…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:19:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0cbc0e8e5435cd8d743ae537cdbaa70787bfc5b4",
"body": "…E (#2410) (#2415)\n\n## Description\n\nFixes #2410.\n\nWhen a streaming `/v1/responses` request has `headroom_retrieve`\navailable, Headroom forces a non-streaming (`stream:false`) upstream\ncall so CCR retrieval can be resolved server-side, then reconstructs the\ncomplete response as SSE for the client. Gi\n[…]\nrs the incremental replay the Anthropic buffered path\nalready does in `StreamingMixin._response_to_sse`\n(content_block_start/delta/stop), bringing the Responses buffered-CCR\npath to the same fidelity.",
"is_bot": false,
"headline": "fix(proxy/openai): replay incremental events in buffered Responses SS…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:18:47Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "170b04a74d5361cdfac4a6e265f5ea0dfecbd841",
"body": "…ployments (#2429)\n\n## Description\n\nFixes #2240.\n\n`headroom install apply` builds the persistent deployment's environment\nfrom the `HEADROOM_*` family plus any explicit `--env KEY=VALUE`. It\nnever captured the provider upstream-routing overrides that the\ninteractive `headroom proxy` reads from the e\n[…]\nings\n- [x] I have added tests that prove my fix is effective or that my\nfeature works\n- [x] New and existing unit tests pass locally with my changes\n- [ ] I have updated the CHANGELOG.md if applicable",
"is_bot": false,
"headline": "fix(install): carry upstream-routing env overrides into supervised de…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:18:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "313c290df96ca58a19ea0f79c67f5b71bb5f4d60",
"body": "…431)\n\n## Description\n\n`handle_openai_chat` reads token counts from the response usage to\nrecord metrics and update the prefix tracker:\n\n```python\nusage = backend_response.body.get(\"usage\", {})\noutput_tokens = usage.get(\"completion_tokens\", 0)\ntotal_input_tokens = usage.get(\"prompt_tokens\", optimize\n[…]\nings\n- [x] I have added tests that prove my fix is effective or that my\nfeature works\n- [x] New and existing unit tests pass locally with my changes\n- [ ] I have updated the CHANGELOG.md if applicable",
"is_bot": false,
"headline": "fix(proxy/openai): None-guard usage token counts on the chat path (#2…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:15:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "17ff13ccbe274e831d5d9327740cd6d506ea8c1c",
"body": "…epo (#2427)\n\n## Description\n\nFixes #2426.\n\nPersistent Docker deployments store their image in the deployment\nmanifest. The image org moved from the personal\n`ghcr.io/chopratejas/headroom` repo to the project org\n`ghcr.io/headroomlabs-ai/headroom`, and the personal repo is frozen at\n0.27.0. Because \n[…]\nings\n- [x] I have added tests that prove my fix is effective or that my\nfeature works\n- [x] New and existing unit tests pass locally with my changes\n- [ ] I have updated the CHANGELOG.md if applicable",
"is_bot": false,
"headline": "fix(install): migrate deployments off the retired chopratejas image r…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:15:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b976378c3e5751f175a5750a7e7703e3a959caa0",
"body": "…k time (#2428)\n\n## Description\n\nThe shared `test` job is currently failing on every open PR because of a\nwall-clock time-bomb in the DeepSeek pricing tests, not because of any\ncode change.\n\n\n`tests/test_providers/test_deepseek.py::TestDeepSeekPricingModule::test_registry_staleness_and_source_url`\na\n[…]\nings\n- [ ] I have added tests that prove my fix is effective or that my\nfeature works\n- [x] New and existing unit tests pass locally with my changes\n- [ ] I have updated the CHANGELOG.md if applicable",
"is_bot": false,
"headline": "test(pricing): stop asserting DeepSeek pricing freshness on wall-cloc…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-20T05:14:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fd0e1a8afeb60748f65fef8b9197ec95e23b335a",
"body": "…, repo-language scoping (#2425)\n\nWhen Serena is the active code-memory engine, `headroom wrap` now does\nthree things (all best-effort, timeout-guarded, non-fatal, and fully\ninert when Serena/uvx are absent — mirroring the existing RTK/tokensave\npatterns):\n\n1. **Symbol-first guidance** — injects a m\n[…]\n, mocked\npre-index/project.yml write incl. failure/timeout no-op). Updated\n`test_serena_migrate.py`'s fixture to neutralize the new side-effecting\ncalls. Offline: 46 passed; ruff 0.15.17 + mypy clean.",
"is_bot": false,
"headline": "feat(wrap): boost Serena — symbol-first guidance, wrap-time pre-index…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T21:44:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7052d52dcbb2fd97b756c9b60a096cdfeee32c94",
"body": "## Description\n\nThe OpenAI chat path caches responses under a different key than it\nlooked them up by. `handle_openai_chat` calls `cache.get(messages, ...)`\nat request start, then the `pre_compress` hook reassigns `messages`\nbefore `cache.set(messages, ...)`. When a deployment configures a\nmessage-r\n[…]\nhon` pre-push hook\nfalse-fails in a uv worktree venv (no `pip`), and the Rust latency\nbenchmark flakes under local load. Python and Rust tests pass in the\nsame run, and CI runs them on clean hardware.",
"is_bot": false,
"headline": "fix(proxy/openai): cache under looked-up messages (#2420)",
"author_name": "inix",
"author_login": "inix-x",
"committed_at": "2026-07-19T18:45:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "45a5a33b3328db5add167456de8e7b3c25f5cdb6",
"body": "…ive passthrough (#2422)\n\n## Description\n\nDocuments the Vertex AI proxy backend properly, fixing #2393. Following\nthe docs verbatim (`pip install \"headroom-ai[proxy]\"` + `headroom proxy\n--backend vertex_ai`) currently fails with `vertexai import failed`, and\nthe LiteLLM-specific `VERTEXAI_PROJECT`/`\n[…]\necked against LiteLLM's Vertex provider docs.\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(proxy): document Vertex AI backend setup, env vars, aliases, nat…",
"author_name": "Parideboy",
"author_login": "Parideboy",
"committed_at": "2026-07-19T18:45:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9cba64d89e165850fd9d72b65de8bee4872f81f7",
"body": "…ion savings on the dashboard (#2248) (#2424)\n\n## Description\n\nUsers upgrading 0.27.0 → 0.31.0 report that the dashboard's compression\n/ \"Tokens Saved\" figures drop to ~0 and conclude Headroom stopped\nworking. The #2248 reporter ran the same prompt on both versions and\ncaptured the telltale detail: \n[…]\nis the second report rooted in the cache-mode default (following\nthe confusion behind #2031), which is why it's framed as a searchable\ntroubleshooting entry rather than another reference-section edit.",
"is_bot": false,
"headline": "docs(troubleshooting): explain cache-mode default showing ~0 compress…",
"author_name": "Shubham Srivastava",
"author_login": "dex0shubham",
"committed_at": "2026-07-19T18:44:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9b016f2b64cb50cd50ab68711ab2abdf7d74c8ec",
"body": "## Description\n\nContentRouter ran the native content detector two to three times on\nidentical content, on the hottest path in the proxy (every compressed\nmessage, every request). This cuts it to once.\n\n`_detect_content` isn't cheap and isn't memoized. It strips a detection\nenvelope, runs the Rust/Ma\n[…]\ncing docs\nchange). This is a Python-only change, so the first push will use\n`--no-verify` for the known `ci-precheck` Rust-latency bench flake\n(`classify_under_10us_per_call`), which runs clean in CI.",
"is_bot": false,
"headline": "perf(content_router): dedupe content detection (#2419)",
"author_name": "inix",
"author_login": "inix-x",
"committed_at": "2026-07-19T15:50:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6e4425a6bdb2bfc49e1633a24b9c9e96e705e1ff",
"body": "…ind unified --code-memory (#2413)\n\n## What\nTwo commits:\n1. **Unify code-memory MCP selection behind `--code-memory\n{tokensave|serena|none}`** (+ `HEADROOM_CODE_MEMORY`), collapsing the\n`--serena`/`--no-serena`/`--no-tokensave` flag tangle into one selector.\nOld flags remain as hidden deprecated ali\n[…]\ned the primary/backup policy test to the serena-primary default;\ncode-memory selector + serena disable/migrate tests pass. Local: 21\npassed (policy + code-memory); ruff + mypy clean. Full suite in CI.",
"is_bot": false,
"headline": "feat(wrap): default code-memory to Serena (dashboard browser off) beh…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T05:39:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "446ec26003c8f661cec175a69e0ab8be0ae9cdea",
"body": "…+ forward question (#2411)\n\n## What\nCompletes the if/elif → registry migration in the content router:\n**KOMPRESS and TEXT** now dispatch through the `kompress` built-in\nadapter (`_registry_compress`), like every other strategy. Also **fixes\na latent bug** in `_invoke_kompress` that dropped the QA-a\n[…]\nwitch to `_estimate_tokens(output)`. (The broad\ncontent_router/compression selection wasn't run locally — it needs\nONNX/HF.)\n\nAfter this, the router's per-strategy dispatch is fully\nregistry-resolved.",
"is_bot": false,
"headline": "feat(transforms): dispatch kompress/text via the compressor registry …",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T05:03:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f9cbdd6e390714e037832f78c59d00907a26b612",
"body": "…s, #112) (#2405)\n\nAutomated by Headroom + Kimi (Fireworks) in a Modal Sandbox.\n\nRequest:\nMake ONLY this one change, nothing else: in\n.github/workflows/release.yml, in the publish-pypi job's step that uses\npypa/gh-action-pypi-publish, add exactly one line 'attestations: false'\nimmediately after the \n[…]\n' line in its with: block\n(same indentation). Do NOT edit any other file, do NOT investigate the\ncodebase, do NOT make any other change. Then finish.\n\nCo-authored-by: Headroom Kimi <kimi@headroom.dev>",
"is_bot": false,
"headline": "fix(release): publish Windows wheel + sdist (disable PyPI attestation…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T03:56:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2bb14d1ab24617971a657b71ead567479021119d",
"body": "## Description\n\nRuff currently has three independent versions: `uv.lock` resolves\n`0.14.14`, pre-commit runs `0.9.4`, and CI installs `0.15.17`.\nContributors can therefore pass one formatter path and fail another.\n\nMake the exact Ruff pin in `pyproject.toml` the source of truth, align\nthe lockfile a\n[…]\ne will use the\nconventional PR title\n\n## Additional Notes\n\nNo formatter-driven source changes are included. AI assistance was used\nto inspect configuration, implement the verifier, and run validation.",
"is_bot": false,
"headline": "fix(ci): align Ruff tooling versions (#2406)",
"author_name": "Floze",
"author_login": "floze-the-genius",
"committed_at": "2026-07-19T03:55:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a986d878b17bed008a83ae5ab6149c2cf8f1ae13",
"body": "## Description\n\nThe autouse `_reset_copilot_routing_flag` fixture in `tests/conftest.py`\ndid an unconditional `from headroom.copilot_auth import\nreset_request_routed_to_copilot` for **every** test. That import pulls\nin the whole package (`headroom/__init__` → `compress.py` →\n`observability` → `opent\n[…]\n — \"Completed 128 Failed 0 Rate Limited 0 Cached\n96\"`) and is not addressed here. Checklist items about\ndocs/CHANGELOG/new-tests are N/A — this is a test-harness resilience\nfix, not a behavior change.",
"is_bot": false,
"headline": "test: make copilot-flag fixture tolerate headroom not installed (#2407)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T03:42:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7c7bf430576541d0fffdb8fc727b76f3dd038f55",
"body": "…(defer kompress/text ML boundary) (#2404)\n\n## What\nFinal increment of the adapter phase (builds on #2391/#2399/#2400).\nFlips the **SMART_CRUSHER** primary `.crush()` invocation in\n`_apply_strategy_to_content` to registry-resolved dispatch, following\nthe CODE_AWARE/HTML pattern. The shared SmartCrus\n[…]\nssed; ruff (0.15.17) + mypy clean. Full content-router CI suite is the\nauthoritative byte-identical gate.\n\nNo new config/env. Reversibility gate, external dispatch (#2388),\ndefault behavior unchanged.",
"is_bot": false,
"headline": "feat(transforms): dispatch smart_crusher via the compressor registry …",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-19T03:33:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7ebda67ef65fe82803c7fb729c509a1451165f26",
"body": "…ff via registry (#2400)\n\n## What\nThird increment of the adapter phase (builds on #2391/#2399). Adds a\n`compressed: bool` field to `CompressOutput` and uses it to flip the\n**fallback/passthrough** strategies — CODE_AWARE and HTML (and DIFF\nwhere clean) — to registry-resolved dispatch, byte-identical\n[…]\ne→`[html,\npassthrough]`), and the adapter `compressed=False`-on-None mapping.\nOffline suite: 88 passed; ruff + mypy clean. The full content-router\nsuite in CI is the authoritative byte-identical gate.",
"is_bot": false,
"headline": "feat(transforms): add compressed signal + dispatch code_aware/html/di…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T23:50:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "89319fbcaddb4be2ea11e87858ed3bd0fcf9dca5",
"body": "…message (#2389)\n\n## Description\n\n`CCRResponseHandler._extract_assistant_message` extracts the assistant\nmessage from an upstream response while building the CCR\nretrieval-continuation history. The OpenAI branch is not defensive about\nan empty or malformed `choices` array:\n\n```python\nelif provider =\n[…]\nfix by importing the real\nclass in the project venv (output above), in addition to the added unit\ntests. This aligns the OpenAI branch with the already-defensive Google\nbranch and `ccr/tool_calls.py`.",
"is_bot": false,
"headline": "fix(ccr): guard empty/malformed OpenAI choices in _extract_assistant_…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-18T23:47:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d6a1af40d5a18f4440a45e342c2d05fee7a642e3",
"body": "…401)\n\n## Description\n\nOpenAI-format `POST /v1/chat/completions` requests routed through\n`--backend litellm-vertex` fail when the client includes `max_tokens`.\nThe proxy currently runs its direct-OpenAI compatibility shim before\nbackend dispatch, renames `max_tokens` to `max_completion_tokens`, then\n[…]\nfrom the\nconventional-commit subject.\n- Scope is intentionally narrow: this fixes the exact backend-routed\n`max_tokens` failure and does not broaden `extra_body` hardening for\nunrelated OpenAI fields.",
"is_bot": false,
"headline": "fix(proxy): skip max_tokens rename for backend-routed openai chat (#2…",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-18T23:47:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "54526bc8586cdeb248d6257dc497136a21b971c0",
"body": "## Description\n\n`/readyz` can keep reporting Kompress as `{\"ready\": false, \"status\":\n\"unhealthy\", \"backend\": null}` after the live compressor has already\nbecome ready. Startup intentionally records Kompress as `deferred`\nwithout loading the model, `WarmupRegistry.merge_transform_status()`\nstores tha\n[…]\niness. This PR fixes only the per-component health report.\n- The health path must remain read-only; it must not call `preload()`,\n`ensure_background_load()`, `compress()`, or any network or model I/O.",
"is_bot": false,
"headline": "fix(proxy): promote Kompress health after runtime load (#2402)",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-18T23:46:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc9c63f18c1a8414b62ced8b2dd54ad1fe4d1c14",
"body": "…pressor registry (#2399)\n\n## What\nSecond increment of the adapter phase (builds on #2391). Flips the\ncontent router's per-strategy dispatch in `_apply_strategy_to_content`\nfrom the hardcoded if/elif to **registry-resolved** — but only for the\n*clean, single-compressor* strategies: **SEARCH, LOG, TA\n[…]\n. Offline suite: 78 passed; ruff + mypy clean. The broad\ncontent-router suite (HF-Hub/ONNX) is deferred to CI — **that full suite\nis the authoritative byte-identical gate for the flipped strategies.**",
"is_bot": false,
"headline": "refactor(transforms): dispatch simple built-in strategies via the com…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T22:39:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "981616c60ef04c32b3eb5b51c4f0f4a7ef297ef1",
"body": "…ations (adapters) (#2391)\n\n## What\nTurns each built-in registry entry into a working `Compressor` (the\n`compressor_registry` contract): `compress(CompressInput) ->\nCompressOutput` delegates to the same underlying built-in method the\ncontent router already invokes in `_apply_strategy_to_content`, re\n[…]\nmodel loads.)\n\nThis is PR-A of the adapter phase (built-ins become Compressor\nimplementations); flipping the router's dispatch to registry-resolved is\nthe follow-up. Builds on #2370/#2371/#2373/#2388.",
"is_bot": false,
"headline": "feat(transforms): make built-in compressors real Compressor implement…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T19:59:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6cdfd3f64d2f64d50ed47644126df71872a21050",
"body": "…rner (#2333)\n\n## Description\n\nAddresses the chat/completions portion of #2060.\n\nThe live traffic learner is wired into the Anthropic `/v1/messages`\nhandler and, since then, the OpenAI Responses HTTP handler\n(`_observe_openai_responses_traffic`, called from\n`handle_openai_responses`). But `handle_op\n[…]\n the Codex WebSocket ingestion path (which\nneeds the transcript-replay baselining discussed in the issue) as a\nseparate change if useful.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/openai): feed chat/completions traffic into the traffic lea…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-18T17:09:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3c7964038116a8df4675840896712e1aa967c45",
"body": "…router (#2388)\n\n## What\nScope 3 of the pluggable-compressor system: a **selected external\n`headroom.compressor` plugin now compresses real traffic**. Opt-in via\n`--compressor` / `HEADROOM_COMPRESSORS` — external (non-built-in) names\nflow to `ContentRouterConfig.active_external_compressors`, resolve\n[…]\nhe broad content-router/compression suite exercises real HF-Hub\nmodel downloads + local ONNX inference and is slow/flaky in some local\nenvs — deferred to CI.\n\nStacks on #2370/#2371/#2373 (all merged).",
"is_bot": false,
"headline": "feat(proxy): route selected external compressors through the content …",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T17:02:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d7a8cdbee1c500be35b87c9da8395087a37ff8b9",
"body": "…… (#2377)\n\n## Description\n\nRequests routed to the GitHub Copilot API travel on the OpenAI or\nAnthropic\nwire, so the proxy handlers stamp the *wire* provider (`openai` /\n`anthropic`)\non the outcome. As a result, Copilot traffic is attributed to\nOpenAI/Claude in\nthe dashboard's per-request provider s\n[…]\nCHANGELOG.md` edits (release-please generates it from the\nConventional\n Commit PR title).\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(proxy): label GitHub Copilot traffic as \"copilot\" in the outcome…",
"author_name": "Serge ARADJ",
"author_login": "orty",
"committed_at": "2026-07-18T16:54:06Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9e0778553fc505edb2c5bc949b7277f9ffdf3bda",
"body": "## Description\n\nStructured payloads still leave long prose leaves without a dedicated\nprose compressor. The Rust pipeline already handles top-level log, diff,\nsearch, and JSON-array shapes, and the existing structured recursion\nrewrites stringified JSON and opaque blobs, but a plain prose string\nlea\n[…]\n` marks manual changelog edits as out of\npolicy.\n- Python lint, type checking, and pytest are not part of the focused\nlocal proof for this slice because the change stays inside\n`crates/headroom-core`.",
"is_bot": false,
"headline": "feat(rust): add structured prose offload plumbing (#334) (#2378)",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-18T16:53:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8906d3a6761c097bbc9d92a0b41f8c982afc633b",
"body": "…kpoints (#2382)\n\n## Description\n\n`normalize_message_cache_control()` consolidates message-level\n`cache_control` breakpoints (strip all, re-place exactly one) to stay\nunder Anthropic's 4-block limit. The re-placed marker was hardcoded to\n`{\"type\": \"ephemeral\"}`, so a client using 1-hour caching\n(`ca\n[…]\ne `test_normalize_newest_marker_wins_over_stale_ttl` test also\nguards against over-fixing (e.g. \"any 1h seen anywhere wins\"), which\nwould pin users to 1h pricing after they switch back to the default.",
"is_bot": false,
"headline": "fix(cache): preserve client cache_control ttl when consolidating brea…",
"author_name": "Zhenjia ZHOU",
"author_login": "lifeodyssey",
"committed_at": "2026-07-18T16:52:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f57e959a506f87f14143d595cae24a1fd6084f66",
"body": "## Description\n\n`headroom wrap codex` with a custom provider emits `--config` overrides\nwhose dotted key quotes **every** segment\n(`\"model_providers\".\"litellm_prod\".\"base_url\"=…`). Codex's override\nparser matches dotted segments literally and silently ignores quoted\nones, so the overrides are droppe\n[…]\ne overrides\nstill won't apply, but bare emission would corrupt a *different* key\npath, which is strictly worse. Such ids are rare; the common\nLiteLLM/custom-provider case is fully bare after this fix.",
"is_bot": false,
"headline": "fix(wrap): emit bare dotted keys for Codex --config overrides (#2383)",
"author_name": "Zhenjia ZHOU",
"author_login": "lifeodyssey",
"committed_at": "2026-07-18T16:51:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a84b28af0e87e52690781723f7c3a47b32678219",
"body": "## Description\n\nA `--compressor` selection that matches no built-in name (e.g.\n`smart_krusher`, a typo of `smart_crusher`) silently disables **all**\nbuilt-in compression: the proxy starts healthy, the dashboard shows ~0\nsavings, and nothing explains why.\n\nThe all-off *semantics* is deliberate and st\n[…]\nere would break legitimate\nexternal/registry selections and could brick startup on a stale\n`HEADROOM_COMPRESSORS` settings value. If you'd rather hard-fail just\nthe CLI-typed path, happy to follow up.",
"is_bot": false,
"headline": "fix(proxy): warn when --compressor selection matches no built-in (#2385)",
"author_name": "Zhenjia ZHOU",
"author_login": "lifeodyssey",
"committed_at": "2026-07-18T16:51:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "56c7d4a59e67655cd24040ecf729382c81cdec23",
"body": "…inventory (#2373)\n\n## What\n- Adds an opt-in `--compressor` / `HEADROOM_COMPRESSORS` selection that\nnarrows the active built-in compressors, mapped onto the existing\n`ContentRouterConfig` `enable_*` flags at the proxy config seam.\nRecognized names: `smart_crusher, kompress, code_aware, search, log,\n\n[…]\nmypy clean on changed files.\nFull suite runs in CI.\n\nStacks conceptually on #2370 (registry seam); rebased onto `main` after\nthat merged.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(proxy): select built-in compressors via --compressor + registry …",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T08:30:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "02eb90f24318abdfb05438e873c8f2af7023ab91",
"body": "## What\nAdds `PrometheusMetrics.record_extension_savings(key, saved)` so proxy\nextensions can report the tokens they save, and surfaces the\nper-extension totals in the `/stats` payload.\n\n## Why\nProxy extensions that perform their own token reduction currently have\nno supported way to report their sa\n[…]\nability.py`\n(per-key accumulation incl. zero/negative ignored; surfaced in `/stats`\nvia `create_app`) → 2 passed (13 in file).\n- `ruff check` / `ruff format` → clean; `mypy` → clean on changed\nsource.",
"is_bot": false,
"headline": "feat(metrics): record per-extension token savings (#2371)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T04:58:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a02073e3327365a0220ba04eeb10039f12d61684",
"body": "…ssor entry point (#2370)\n\n## What\nAdds a pluggable compressor registry and a `headroom.compressor`\nentry-point group so compressors can be registered, discovered, and\nselected by name.\n\n- Pure-data contract (`CompressorDescriptor`, `CompressInput`,\n`CompressOutput`, `Compressor` Protocol). Only pla\n[…]\n registration, opt-in selection semantics, wildcard,\nunknown-name skip, monkeypatched entry-point discovery,\ndiscovery-never-runs-compress).\n- `ruff check` / `ruff format` → clean; `mypy` → no issues.",
"is_bot": false,
"headline": "feat(transforms): add pluggable compressor registry + headroom.compre…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-18T04:55:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "44136ed0427edff338c5d7979b589f8540c9b967",
"body": "…#2344)\n\n## Description\n\nRTK CLI-command filtering was set up **by default** across ~16 `wrap`\nsubcommands (copilot, codex, aider, cursor, cline, continue, goose,\nopenhands, opencode, grok, omp, openclaude, vibe, …) via `if not\nno_rtk:` — so users got rtk hooks / instruction injection without opting\n[…]\nCP engine\nand the proxy-option cleanup. No `CHANGELOG.md` edit — release-please\ngenerates it from the PR title (per the changelog guard).\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(wrap): make RTK opt-in (off by default) across wrap subcommands (…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T23:47:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1b8c11ebfb8a3719bdac8b37472a2ecc45a1c5ee",
"body": "## Description\n\nFixes #2302.\n\nOutput shaping (`HEADROOM_OUTPUT_SHAPER=1`) verbosity steering is wired\ninto the Anthropic `/v1/messages` handler and the OpenAI `/v1/responses`\nhandler, but never into `handle_openai_chat`. OpenAI-compatible clients\nthat route through `/v1/chat/completions` — GitHub Co\n[…]\nhis PR restores the\nverbosity-steering savings the issue reports as missing, and effort\nrouting for chat can follow separately if wanted.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/openai): apply output shaping on /v1/chat/completions (#2328)",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-17T23:16:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a63d235e7ee0faac6814b4138eeac634d3b294b0",
"body": "## Description\n\nOptimize the Docker build cache to ensure that Rust/Cargo dependencies\nare cached correctly when installing Python packages, thereby speeding\nup subsequent image builds.\n\nCloses #\n\n## Type of Change\n\n- [ ] Bug fix (non-breaking change that fixes an issue)\n- [ ] New feature (non-break\n[…]\n changes\n- [ ] I did **not** edit `CHANGELOG.md` — it is generated by\nrelease-please from my Conventional Commit PR title (a CI guard enforces\nthis)\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "Fix Dockerfile (#2337)",
"author_name": "Jervis",
"author_login": "jerviscui",
"committed_at": "2026-07-17T23:12:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cf5fa644b6e019a3ea31b4f48509a63921055253",
"body": "…340) (#2350)\n\n## Description\n\n`headroom unwrap claude` currently removes Claude-local wrap state but\ncan still leave Claude effectively routed through Headroom when the same\nport belongs to a managed persistent deployment. The command already\nknows how to discover same-port persistent manifests, bu\n[…]\nis\npatch makes Claude unwrap truthful and ownership-aware, but it does not\nremove install artifacts or introduce a new uninstall command.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(wrap): stop same-port persistent routing during claude unwrap (#2…",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-17T23:08:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b75999017fc060a4617077ef86c21ce3249d0842",
"body": "… 200 (#2320)\n\n## Description\n\n`RemoteKompressCompressor` (the opt-in `HEADROOM_KOMPRESS_ENDPOINT`\nremote compression client) documents a fail-open contract in its own\ndocstring:\n\n> Fails OPEN: any network/HTTP error returns the content verbatim so a\nflaky endpoint degrades compression rather than b\n[…]\nness in `test_kompress_remote.py` and\nrun under the normal CI pytest job, and the behavior is corroborated by\nthe standalone proof above.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(transforms/kompress-remote): keep compress fail-open on malformed…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-17T19:11:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "44a174fef4d514eceed20a767dc87d00cfde0eaa",
"body": "…(#2322)\n\n## Description\n\n`_anthropic_usage_from_litellm` maps a LiteLLM `Usage` object to the\nAnthropic response shape on the buffered (non-streaming) backend path.\nEvery numeric field is `None`-guarded with `int(... or 0)` except\n`output_tokens`:\n\n```python\ncache_read = int(getattr(litellm_usage, \n[…]\nitellm_nonstream_cache_usage.py` and runs under the\nnormal CI pytest job, and the behavior is corroborated by the standalone\nproof above.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(backends/litellm): guard None completion_tokens in usage mapping …",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-17T19:11:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f64aac9733d5e314f381644eaea62e2c28b6dc65",
"body": "## Description\n\nThe non-streaming Gemini/Vertex handler reads token counts straight from\nthe response's `usageMetadata`:\n\n```python\ntry:\n usage = resp_json.get(\"usageMetadata\", {})\n total_input_tokens = usage.get(\"promptTokenCount\", optimized_tokens)\n output_tokens = usage.get(\"candidatesTo\n[…]\n`test_gemini_savings_profile.py` and runs under the normal CI pytest\njob, and the behavior is corroborated by the standalone proof above.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/gemini): None-guard token counts from usageMetadata (#2347)",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-17T19:10:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "494fb5a60e15ae1ce425f79f1432827b42923c73",
"body": "…trojan) (#2342)\n\n## Description\n\nFixes #2332.\n\nThe `ast_grep_cli` **0.44.1** PyPI release was a compromised\nsupply-chain build: it shipped an info-stealer `sg.exe` (212 KB,\ndetected as `Trojan:Win64/Lazy!MTB`) alongside the legitimate `ast-grep`\nbinary as camouflage. `headroom-ai` declares `ast-gre\n[…]\nusly correct. No CHANGELOG entry is added since this is a\ndependency-metadata security pin, but I'm happy to add one if the\nproject prefers it here.\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(security): exclude compromised ast-grep-cli 0.44.1 (supply-chain …",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-17T19:10:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0fa337f64f08452acec857a4ef4dfba82de589ca",
"body": "## Description\n\nRefreshes the **stale `uv.lock`** and clears the mcp CVEs in one pass.\nmain's lock had drifted far from `pyproject.toml` — a full `uv lock`\n(with the **CI-matching uv 0.11.29**, what `astral-sh/setup-uv@v5`\ninstalls) reconciles ~30 declared-but-unlocked dependencies and their\ntransit\n[…]\n- Prefer low risk / fast → merge **#2348**, land this refresh separately\nafterwards.\n- Prefer fixing the lock drift now → merge **this**, close #2348.\n\nNo `CHANGELOG.md` edit (release-please owns it).",
"is_bot": false,
"headline": "build(deps): refresh stale uv.lock (reconcile ~30 missing deps) (#2349)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T11:08:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a90be94e32c393332d37db4fb439e0c776b89f27",
"body": "## Description\n\nClears **all 3 open Dependabot alerts** (and the `pip-audit` CI failure)\n— every one is `mcp 1.26.0` in `uv.lock`:\n\n| Alert | CVE | Issue | Fix |\n|-------|-----|-------|-----|\n| #155 | CVE-2026-52870 | experimental task handlers leak cross-session\ntasks | 1.27.2 |\n| #156 | CVE-2026-5\n[…]\nobuf/posthog/portalocker — likely an env\nartifact). That's a pre-existing lock-hygiene problem for its own PR —\n**not** bundled into this security fix. No `CHANGELOG.md` edit\n(release-please owns it).",
"is_bot": false,
"headline": "fix(deps): bump mcp to 1.28.1 to clear 3 high-severity CVEs (#2348)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T06:57:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4381388d56f49af3ae9b1dece7489a12fa64a1a1",
"body": "## Description\n\nRelease Please generated the 0.33.0 release PR for main. This updates\nrelease metadata, package versions, and the generated changelog for the\n0.33.0 release.\n\nI also aligned the agent-hook plugin manifests, marketplace metadata,\neditable lockfile package version, and canonical MCP `s\n[…]\nta, plugin marketplace versions,\nlockfile version, and `server.json`.\n- Observed result: All package, plugin manifest, marketplace, lockfile,\nand MCP descriptor release versions are aligned at 0.33.0.",
"is_bot": false,
"headline": "chore: release main (#1923)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T04:27:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "63945abe3af958aea0fe2e6ddf5c3476cb161204",
"body": "…e (v0.32.0) (#2338)\n\n## Description\n\n**Fixes the Release Please pipeline so it emits `v0.32.0`.** pip /\nDocker / npm are out of sync because 0.32.0 was never actually released.\n\n### Root cause\nSame failure mode as #1916. #2175 (a `fix(deps)` PR) bumped\n`pyproject.toml` + `.release-please-manifest.j\n[…]\nrelease is created but downstream publishes don't fire. #1916\nshipped 0.31.0 fully via this path, so the PAT was set then; if the\n0.32.0 publish doesn't fire on merge, verify that secret still exists.",
"is_bot": false,
"headline": "chore: sync version state to released 0.31.0 to unblock release-pleas…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T04:06:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4726c7343fcf74f29a53403e7895dedc60aa37be",
"body": "…#2336)\n\n## Description\nMain lint went red after #1556: `headroom/_subprocess.py:18` returns\n`Any` (ctypes `GetLastError()`) from a `-> bool` function → mypy\n`no-any-return`. Tests were unaffected.\n\n## Changes Made\n- Wrap the comparison in `bool(...)`, matching `pid_alive()`'s existing\nstyle.\n\n## Te\n[…]\n -> 1 file already formatted\n```\n\n## Real Behavior Proof\n- Environment: local .venv (ruff 0.15.17 / mypy 1.20.2, CI-pinned).\n- Result: `mypy headroom` clean; behavior unchanged (pure typing fix).",
"is_bot": false,
"headline": "ci: repair mypy no-any-return in _win32_pid_alive (#1556 follow-up) (…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-17T03:55:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "793d20fb2a1c0d3608abd23c4587db1b17dc238d",
"body": "## Description\n\nLarge Claude Code transcript files were capped by reading the first 10\nMB of each append-only JSONL file. Because recent entries are appended\nat the end, current-window and weighted token usage could silently omit\nthe newest activity.\n\nOversized transcripts are now read from EOF. If \n[…]\nde the modified\nsubscription code and are unrelated to this PR. All tests covering\n transcript reading and subscription tracking pass.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(subscription): read newest transcript tail (#2310)",
"author_name": "Gautam Sharma",
"author_login": "GautamSharma99",
"committed_at": "2026-07-16T21:39:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0924755591d0fb625439facb04905e4fc052b445",
"body": "## Description\n\nThe Memory MCP server previously assigned its backend before\nasynchronous embedder and vector-index warm-up completed. A tool call\narriving\nduring the handshake could therefore receive a partially initialized\nbackend.\n\nBackend initialization is now atomic and shared between concurren\n[…]\nccur outside the changed\nMemory MCP code and are unrelated to this PR. All tests covering the\n modified initialization lifecycle pass.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(memory): serialize MCP backend initialization (#2309)",
"author_name": "Gautam Sharma",
"author_login": "GautamSharma99",
"committed_at": "2026-07-16T21:38:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6decbd1e6e6732dc94f7d501116282c41994ce74",
"body": "…SE reconstruction (#2271)\n\n## Description\n\nWhen the proxy reconstructs a full response from an Anthropic SSE\nstream, it silently drops the payload of any content block that isn't\n`text` / `tool_use` / `thinking` / `redacted_thinking`.\n\n`_parse_sse_to_response` builds each block on `content_block_st\n[…]\nt_sse_thinking_blocks.py`, so it runs under the normal CI\npytest job; behaviour is additionally verified by the standalone proof\nabove.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/streaming): preserve non-standard content-block fields on S…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:38:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1612f06a4c19c53b6d8b02b02cd30d14a1858d28",
"body": "…Call (#2269)\n\n## Description\n\nCCR tool-call detection crashes when an upstream response carries a tool\ncall whose `function` (or `functionCall`) field is explicitly `null`.\n\n`is_ccr_tool_call` and `parse_tool_call` both read the nested name like\nthis:\n\n```python\ntool_call.get(\"function\", {}).get(\"n\n[…]\nsting CCR tool-call tests so they run under the normal\nCI pytest job; behaviour is additionally verified by the standalone\nproof above.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(ccr): don't crash tool-call detection on a null function/function…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:38:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8b7e797ed41ea9a37ef8711e102b355f9194c571",
"body": "…unction (#2272)\n\n## Description\n\n`MemoryHandler` crashes when an upstream response carries a tool call\nwhose `function` field is explicitly `null`.\n\nThree sites read the nested name like `tool_call.get(\"function\",\n{}).get(\"name\")`:\n\n- `has_memory_tool_calls` (line ~1043) — over the response's tool \n[…]\nis the memory-handler sibling of the same null-`function`\nhazard I'm fixing in the CCR tool-call detection and the memory tool\nadapter.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/memory): don't crash memory tool-call detection on a null f…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:37:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ef1e7e403bec7737bb536c3d866bcad0ba7f8033",
"body": "…tion/arguments (#2270)\n\n## Description\n\nThe memory tool adapter crashes when an upstream response carries a tool\ncall whose `function` or `arguments` field is explicitly `null`.\n\n`_get_tool_name`, `_get_tool_id`, and `_get_tool_input` all read the\nnested function like this:\n\n```python\nstr(tool_call\n[…]\n them on a bare instance via `object.__new__` — it runs under\nthe normal CI pytest job, and the standalone proof above corroborates\nit.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy/memory): don't crash the memory tool adapter on a null func…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:37:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eed80dd4baa6a9d8be0ed36a575d0169f6b5eb3c",
"body": "…(#2299)\n\n## Description\n\nA single Claude session-log line with an explicit `{\"message\": null}`\ncrashes the entire `headroom learn` run.\n\n`ClaudeCodePlugin._scan_session` reads the message object in four\nplaces:\n\n```python\nusage = d.get(\"message\", {}).get(\"usage\", {}) # assistant line\n...\nmsg = d.\n[…]\nest_subagent_scanning.py`, so it runs under the\nnormal CI pytest job; behaviour is additionally verified by the\nstandalone proof above.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(learn/claude): don't abort the whole scan on a null message line …",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:36:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ec12e18186852118204ec9ac8fdd33e068c0dcad",
"body": "… model (#2298)\n\n## Description\n\n`_estimate_output_savings_usd` reports phantom output-shaping savings\nfor a model whose output price is legitimately `0.0`.\n\nIt reads the per-token output price from litellm and treats a falsy\nvalue as \"unavailable\":\n\n```python\noutput_cost_per_token = info.get(\"outpu\n[…]\nost zero-price\nbehavior), so they run under the normal CI pytest job; behaviour is\nadditionally verified by the standalone proof above.\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(savings): don't fabricate output savings for a free (zero-priced)…",
"author_name": "Abhay Singh",
"author_login": "abhay-codes07",
"committed_at": "2026-07-16T21:35:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6744833afed9aba7bdadd2aa59ed3a6fa99afc15",
"body": "…onicalize drift hashes (#2301)\n\n## Description\n\nThe Rust proxy's cache-bust drift detector\n(`crates/headroom-proxy/src/cache_stabilization/drift_detector.rs`,\nPR-E6) cannot currently tell drift from normal operation on interactive\nagentic traffic, so it warns on nearly every turn and a real bust dr\n[…]\nnse_id`) as a lineage; surfacing mid-history\n`role:\"system\"` insertions on the OpenAI Chat shape (pre-existing blind\nspot on all axes).\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy): key drift detector on conversations, not credentials; can…",
"author_name": "Andrei Boldyrev",
"author_login": "abcgco",
"committed_at": "2026-07-16T21:34:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "517bf992cfb096c9f277d1f39aa24f9a979600dc",
"body": "## Description\n\nA request-side `asyncio.wait_for()` timeout stops waiting, but it cannot\npreempt an executor thread that already started. The proxy counted those\nlate workers and still admitted more compression, so repeated slow calls\ncould consume the whole compression pool and charge every request\n[…]\nded tests that prove the fix is effective\n- [x] New and affected existing unit tests pass locally\n- [x] I have updated the CHANGELOG.md\n\n---------\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy): quarantine compression while timed-out workers run (#2292)",
"author_name": "Sebastian Schkudlara",
"author_login": "rschumann",
"committed_at": "2026-07-16T21:30:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e7340aee656500b8efc9fd0fd17f38edffc25cc9",
"body": "…2329)\n\n## Description\n\nStops the recurring **CHANGELOG cascade** where several concurrent PRs\nall edit `CHANGELOG.md`'s `## Unreleased` section, so the first to merge\nturns the rest `DIRTY` — forcing a serial rebase-per-merge grind.\n\nRoot cause: **release-please already generates `CHANGELOG.md`** f\n[…]\nup: the ~10 currently-open PRs that hand-edit `CHANGELOG.md`\nwill need that edit removed (a clean deletion now, not a conflict\nresolution) before they merge — after which the cascade is gone for\ngood.",
"is_bot": false,
"headline": "ci(changelog): stop the CHANGELOG cascade — release-please owns it (#…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-16T21:28:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "844d9caaa1c7471cc01b9c900f42c9552421bbe2",
"body": "…keys (#2259)\n\n## Description\n\nReal CJK content routinely mixes full-width and half-width forms (`API`\nvs `API`, `0` vs `0`, the ideographic space ` ` vs a normal space).\nAfter #1504's ICU tokenization, these width variants produced\n*different* token keys, so `API` and `API` didn't dedup or match as\n[…]\nELOG.md — happy to add an entry if\npreferred.\n\n## Additional Notes\n\n- Follow-up to #1504 (CJK-aware TextCrusher); it only touches the\nCJK-gated `tokens_icu` path, so English tokenization is unchanged.",
"is_bot": false,
"headline": "feat(text-crusher): fold full-width ASCII to half-width in CJK token …",
"author_name": "Zhenjia ZHOU",
"author_login": "lifeodyssey",
"committed_at": "2026-07-16T20:51:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8951a264a2dea417a733ce446463cc5ee4d74781",
"body": "…ssless fold write-back (#2261)\n\n## Description\n\nWhen a tool result is excluded from lossy compression (e.g. grep via\n`HEADROOM_EXCLUDE_TOOLS`), the OpenAI Responses adapter performs a\nbyte-lossless fold on the output text. However, the excluded-tool fold\npath joined all content-part text with `_res\n[…]\nx] I have added tests that prove my fix is effective or that my\nfeature works\n- [x] New and existing unit tests pass locally with my changes\n\nCo-authored-by: lennney <lennney@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(proxy): preserve content-part array structure in excluded-tool lo…",
"author_name": "GUOHAO LIU",
"author_login": "lennney",
"committed_at": "2026-07-16T20:51:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4e2bbfee3f65e3287ab7693da70f0d7b20dada28",
"body": "## Description\n\nFix OpenCode proxy injection so it respects user configurations that use\nthe `.jsonc` extension, preventing Headroom from creating a duplicate\n`.json` file that overrides it.\n\nCloses #1588\n\n## Type of Change\n\n- [x] Bug fix (non-breaking change that fixes an issue)\n- [ ] New feature (\n[…]\nfective or that my\nfeature works\n- [ ] New and existing unit tests pass locally with my changes\n- [ ] I have updated the CHANGELOG.md if applicable\n\n## Screenshots (if applicable)\n\n## Additional Notes",
"is_bot": false,
"headline": "fix(opencode): Use opencode.jsonc when present (#1590)",
"author_name": "Tanmay Garg",
"author_login": "Tanmay9223",
"committed_at": "2026-07-16T20:51:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f42ce4a2399f3285548b5a67f2bf1cede0334816",
"body": "…y kill (#1556)\n\n## Description\n\nMake `pid_alive()` safe on Windows even when `psutil` is not installed,\nand harden `_kill_proxy_by_pid` exception handling for stale PIDs.\n\n### Problem\n\n`headroom._subprocess.pid_alive()` falls back to `os.kill(pid, 0)` when\n`psutil` cannot be imported. On Windows, C\n[…]\nd\n- `test_pid_alive_win32_no_psutil_no_ctypes_returns_conservative` —\n simulates `win32` + broken `psutil` + broken `ctypes`, asserts\n `os.kill` is never called and `True` is returned conservatively",
"is_bot": false,
"headline": "fix: harden fd lifecycle and SystemError handling in runtime and prox…",
"author_name": "guyoron1",
"author_login": "guyoron1",
"committed_at": "2026-07-16T20:51:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5279c33b192402faa7c4cbb7b1f6bae36ccda9c7",
"body": "## Description\n\nPrevent memory_save from automatically deleting semantically similar but\ndistinct memories. The previous fire-and-forget deduplication path\ndeleted existing memories at cosine similarity scores of 0.92 or higher\nafter the save had already returned success. Similarity remains\navailabl\n[…]\noves unsafe behavior without introducing a new\npublic interface or complex implementation. The full-suite checkbox\nremains unchecked because four unrelated tests failed locally, as\n documented above.",
"is_bot": false,
"headline": "fix(memory): preserve semantically similar memories (#2303)",
"author_name": "Gautam Sharma",
"author_login": "GautamSharma99",
"committed_at": "2026-07-16T18:32:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "26b43f64d6863fafebb0e2a48e059dcb59b9b397",
"body": "…ection (#2291) (#2297)\n\n## Description\n\nLarge native Claude Code requests on the Anthropic path can still\nforward with zero request compression after CCR tool injection is\ndeferred on a frozen prefix. The stale skip branch treats deferred\ninjection as a reason to bypass request compression entirely\n[…]\nis\nuntouched because the current live issue is a native Claude Code path\nand the concrete stale skip branch on `origin/main` is in\n`anthropic.py`.\n\nCo-authored-by: Tejas Chopra <chopratejas@gmail.com>",
"is_bot": false,
"headline": "fix(proxy): keep anthropic ccr compression active across deferred inj…",
"author_name": "Rod Boev",
"author_login": "rodboev",
"committed_at": "2026-07-16T16:32:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1d79e70f9598f866be6c11a64e81887625127a94",
"body": "## Description\n\n`main` CI is red on three independent test failures. All three are\n**test-side** bugs (stale cache, semantic merge conflict, stale mock) —\nno product code regressed. Each test passed in isolation but failed on\n`main`, and each also blocks the `chore: release main` PR (#1923).\n\nCloses\n[…]\nce this lands on\n`main`, the `chore: release main` PR (#1923) drops to just the\n`test_root_server_json_matches_builder` failure, which is the release\nversion-bump `server.json` regen (not a code bug).",
"is_bot": false,
"headline": "fix(tests): repair three main-branch test failures (#2306)",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-16T16:21:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "718c8dc559c0432d234da28053cea602c2d9245a",
"body": "…#2268)\n\n## Description\n\n`main`'s `lint` CI job is currently **red** (latest main `eac49656` →\n`lint: failure`), which blocks every open PR. Two causes, both from\nrecent merges that were green in isolation but combined into a red\n`main`:\n\n- **ruff-format drift** on 7 files — committed with formatter\n[…]\n8, #2247) whose local\nruff differed from the pinned `0.15.17`. Merging this unblocks the\n`lint` gate for all open PRs (including #2207).\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)",
"is_bot": false,
"headline": "fix(proxy): repair main lint (ruff-format drift + mypy host_header) (…",
"author_name": "Tejas Chopra",
"author_login": "chopratejas",
"committed_at": "2026-07-16T06:18:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eac49656a1cd2a72533432f676a693e283c63bf4",
"body": "## Description\n\nAdds `headroom wrap kimi`, routing Kimi CLI through the Headroom proxy.\n\nKimi CLI speaks an OpenAI-compatible `/chat/completions` API (its\n`kosong` backend wraps `AsyncOpenAI`) and lets the base URL be\noverridden via `KIMI_BASE_URL`. This wrapper points it at the local\nproxy. Kimi's \n[…]\nearch/fetch services are out of scope for\n`KIMI_BASE_URL` and continue to hit Kimi directly; only the LLM\n`/chat/completions` traffic is compressed.\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(wrap): add `headroom wrap kimi` for Kimi CLI (#1426)",
"author_name": "kaz",
"author_login": "0xkaz",
"committed_at": "2026-07-15T21:40:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "46d4378cf7796836f99933c8f614f84d0a08bf4a",
"body": "…#1188)\n\n## Description\n\nFollow-up to **#1187** (the offline fidelity gate). That gate is\nhermetic and **structured-only** (JSON tool outputs via Rust\ncompressors) so it can block every PR with zero setup. This PR adds the\ngenuinely-uncovered piece: **prose answer-recall on a real dataset\n(HotpotQA)\n[…]\n **workflow_dispatch** to\nsee the HotpotQA recall numbers without waiting for Monday.\n\n---------\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>\nCo-authored-by: JD Davis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(evals): weekly HotpotQA answer-recall report on the prose path (…",
"author_name": "Ashish",
"author_login": "agaonker",
"committed_at": "2026-07-15T21:40:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "63f74aa3e6477db9ac2049007a71ec5a3522649c",
"body": "…put_shaper (#2250)\n\nThe _RESPONSES_TOOL_OUTPUT_TYPES frozenset in output_shaper.py had\ncomputer_call_output instead of apply_patch_call_output, making it\ninconsistent with the canonical definitions in handlers/openai.py and\noutput_turn_policy.py. This caused apply_patch_call_output items to be\nmisclassified, preventing effort routing optimization for those turns.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix: replace computer_call_output with apply_patch_call_output in out…",
"author_name": "Semianchuk Vitalii",
"author_login": "fix2015",
"committed_at": "2026-07-15T21:33:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81d40a6437979d6b8ebc524ff8c5a9d9b7c2d10a",
"body": "## Description\n\n`POST /v1/compress` compressed messages correctly but never recorded\nPrometheus business metrics. Standalone compress microservice\ndeployments (including LiteLLM `guardrail: headroom`) left\n`headroom_requests_total`, token counters, latency, and\nby_model/by_provider families at zero.\n[…]\nhe CHANGELOG.md if applicable\n\n## Screenshots (if applicable)\n\nN/A\n\n## Additional Notes\n\n- Focused compress endpoint suite only; full-repo mypy was not run.\n- No public API or response-schema changes.",
"is_bot": false,
"headline": "fix(proxy): record Prometheus metrics for POST /v1/compress (#2247)",
"author_name": "AxelRay",
"author_login": "axelray-dev",
"committed_at": "2026-07-15T21:27:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5424e99a6533b4c0ac7d16f547926e6ac96f0132",
"body": "## Description\n\nClarifies the recommended install path for the Headroom CLI on macOS\nApple Silicon and Linux. The docs now prefer `uv tool install --python\n3.13 \"headroom-ai[all]\"` for host-level CLI use, keep `pip install`\nscoped to Python project environments, and call out absolute executable\npath\n[…]\nble.\n\n## Additional Notes\n\nThe PR remains a draft while docs verification is limited by the\nexisting docs app `@/lib/*` resolution issue.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "Clarify uv tool install path on macOS (#1196)",
"author_name": "Dávid Balatoni",
"author_login": "balcsida",
"committed_at": "2026-07-15T21:06:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7ddcbcb616729e09d8c556f2b8510f50aa0ae298",
"body": "## Summary\n- add overhead diagnostics to perf JSON output\n- report optimization p50/p95/p99, slow request percentage, per-stage\ntotals/percentiles, and top slow requests\n- update text report and recommendations to point at the slowest stage\nand HEADROOM_COMPRESSION_TIMEOUT_SECONDS when optimization \n[…]\nn\n- python -m py_compile headroom/perf/analyzer.py\ntests/test_cli_perf_format.py\n- pytest tests/test_cli_perf_format.py could not run locally because\npytest is not installed in this Python environment",
"is_bot": false,
"headline": "perf: surface optimization overhead diagnostics (#1212)",
"author_name": "akothari-godaddy",
"author_login": "akothari-godaddy",
"committed_at": "2026-07-15T21:04:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "412db40a0bcb35d2a631ea5e74eb910b1f89feb3",
"body": "## Description\n\n<!-- Briefly explain the change and why it is needed. -->\n\nCloses #\n\n## Type of Change\n\n- [ ] Bug fix (non-breaking change that fixes an issue)\n- [ ] New feature (non-breaking change that adds functionality)\n- [ ] Breaking change (fix or feature that would cause existing\nfunctionalit\n[…]\n help explain your changes.\n\n## Additional Notes\n\n<!-- Mention any N/A checklist items, tradeoffs, follow-ups, or\nmaintainer context. -->\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(code): pin tree-sitter-language-pack <1.0.0 in [code] extra (#1219)",
"author_name": "TUTU244",
"author_login": "TUTU244",
"committed_at": "2026-07-15T20:54:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1c50eca8b3f44ba06fee3d1cae22f3cf40eac5f8",
"body": "## Description\n\nFix ChatGPT/Codex session-auth Responses proxy handling so the ChatGPT\nbackend always receives an explicit `store=false`, while keeping\nResponses memory tools limited to the regular API-key path where stored\nresponses are supported.\n\n## Type of Change\n\n- [x] Bug fix (non-breaking cha\n[…]\nincrease in ChatGPT-auth 400s, API-key\nmemory-tool continuation failures, or missing memory tool injection on\nAPI-key Responses requests.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(proxy): skip Responses memory tools for ChatGPT auth (#1579)",
"author_name": "John Xu",
"author_login": "dyxushuai",
"committed_at": "2026-07-15T20:52:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "420dc9077b204c1ad75bde25f3f23ff8c11db770",
"body": "…629)\n\n## Description\n\nAdds first-class Grok Build support to Headroom so Grok CLI sessions can\nroute through the local proxy for context compression and savings\ntracking.\n\nThis PR introduces `headroom wrap grok-build` / `headroom unwrap\ngrok-build`, a `grok_build` provider slice, Grok MCP registrar\n[…]\nnshot assets:\nhttps://github.com/aashishtamsya/headroom/releases/tag/pr-1629-evidence\n(temporary prerelease; safe to delete after merge).\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(grok-build): add Grok Build wrap command and MCP integration (#1…",
"author_name": "Aashish Tamsya",
"author_login": "aashishtamsya",
"committed_at": "2026-07-15T20:51:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ecf086f1f858104ad71324d3e422049feaea39df",
"body": "## What\n\nAdds explanatory comments throughout `docker-compose.yml` so the \"memory\nstack\" is self-documenting for new users.\n\nCovers:\n- The **headroom-proxy** service — OpenAI-compatible endpoint, why it\nbinds to `0.0.0.0`, the `/readyz` healthcheck, and the `depends_on`\nstart-order caveat.\n- **Qdran\n[…]\n/claude-code)\n\nCo-authored-by: Cason Clark <casonclark@Casons-MacBook-Pro.local>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "docs(compose): document the memory-stack docker-compose services (#1242)",
"author_name": "EC0RP",
"author_login": "ai-Ev1lC0rP",
"committed_at": "2026-07-15T20:38:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3f5067022f88f94d3b747df35e9244c98e1f8135",
"body": "## Summary\n- add Codex support to `audit-reads --codex --simulate-maturation`\n- classify Codex edit targets from `apply_patch`, `sed -i`, `tee`, and\nshell redirects so maturation risk can count edits\n- include focused tests for Codex maturation metrics, CLI JSON/text\noutput, and edit-risk buckets\n- \n[…]\n headroom audit-reads --codex --path\n/home/robert-briscoe/.codex/sessions --simulate-maturation`\n\nCo-authored-by: Robert Briscoe <robert@briscoe.dev>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "[codex] Simulate Codex read maturation risk (#1395)",
"author_name": "panamarob30-jpg",
"author_login": "panamarob30-jpg",
"committed_at": "2026-07-15T20:36:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ac7ee4e0bf25a49f05df44a38d40ecb806cf3972",
"body": "Adds opt-in compatibility for OpenAI-compatible WebSocket gateways used\nbehind Codex /v1/responses.\n\n- HEADROOM_OPENAI_WS_FLATTEN_RESPONSE_CREATE=1 flattens Codex\nresponse.create frames before upstream send.\n- HEADROOM_OPENAI_WS_PROPAGATE_UPSTREAM_CLOSE=1 propagates upstream\nclose code/reason back to the client.\n- Default behavior is unchanged.\n\nTested:\npython -m pytest tests/test_openai_codex_ws_lifecycle.py -q\n18 passed\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(proxy): support Codex WS compatible gateways (#1281)",
"author_name": "yaowei",
"author_login": "gamesoft",
"committed_at": "2026-07-15T20:36:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02c77640a95e04a33361803fbc25d63d0b86e976",
"body": "…false-positive on source code (#1347)\n\n## Summary\n\nThree related fixes in the content router/detector, addressing data-loss\nand misrouting bugs found via chaotic audit:\n\n- **SMART_CRUSHER → Log fallback guard (#1306):** Truncated/invalid JSON\ntool outputs were tagged `json_array` by the native magi\n[…]\nCo-authored-by: monkeygold <monkeygold@users.noreply.github.com>\nCo-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(transforms): guard Log fallback against invalid JSON + fix MIXED …",
"author_name": "monkeygold",
"author_login": "monkeygold",
"committed_at": "2026-07-15T20:36:20Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a51bbfb6a56fa06ef18109ee0194610c400a2f43",
"body": "…80) (#1388)\n\n## Summary\n\nFixes #1380 — OpenCode MCP config was written with the wrong schema in\nboth `mcp install` and `wrap opencode`.\n\n### Root Cause\n\n`_spec_to_entry` and `build_opencode_config_content` both generated:\n```json\n{\n \"type\": \"remote\",\n \"url\": \"http://127.0.0.1:<port>/mcp\",\n \"env\"\n[…]\n the MCP server as a\nsubprocess and the MCP session connects.\n\n**What I did not test:** Windows config paths, `OPENCODE_HOME` env\noverride on Linux.\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(opencode): use type=local + environment field for MCP config (#13…",
"author_name": "Peter Lodri",
"author_login": "peterlodri-sec",
"committed_at": "2026-07-15T20:36:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d50c73f2a178d80315c3503ed77c091c68a8e551",
"body": null,
"is_bot": false,
"headline": "test: align savings schema assertions",
"author_name": "JerrettDavis",
"author_login": "JerrettDavis",
"committed_at": "2026-07-15T20:15:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8bff1cfe3a65ae2258aecba18916d331d84c1bf",
"body": "## Description\n\nAdd CrewAI and AutoGen tool compression integrations, following the same\npatterns as the existing LangChain agent integration\n(`HeadroomToolWrapper` / `wrap_tools_with_headroom`). Both delegate\ncompression to `compress_tool_result()` from the MCP integration, with\nper-tool metrics tr\n[…]\ne docstrings\n- `mypy` not checked due to Rust build dependency (`maturin`) that\nrequires Application Control policy changes on this machine\n\n---------\n\nCo-authored-by: Sneha27feb <sroy27.ai@gmail.com>",
"is_bot": false,
"headline": "feat: add CrewAI and AutoGen tool compression integrations (#1384)",
"author_name": "Sneha Roy",
"author_login": "Sneha27feb",
"committed_at": "2026-07-15T19:58:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3dd9660d91abe86b8ea2bb45148a23ad25cbff30",
"body": "## Description\n\n> **Default behavior is unchanged:** only L1 (annotation-key stripping)\nis on by default. L2 (description truncation) and L3 (system-prompt\ncompression) are **opt-in** via `HEADROOM_TOOL_DESC_MAX_CHARS` and\n`HEADROOM_SYSTEM_COMPACT=1` respectively — instruction-level compression\nneve\n[…]\nded.\n\n---------\n\nSigned-off-by: lg320531124 <lg320531124@users.noreply.github.com>\nCo-authored-by: lg320531124 <lg320531124@users.noreply.github.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat: 3-layer context compression pipeline (L1+L2+L3) (#1405)",
"author_name": "Gen Li",
"author_login": "lg320531124",
"committed_at": "2026-07-15T19:58:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4035c041879e422c986d9cf3b352b13bdc73a01c",
"body": "## Description\n\n`TextCrusher` (the native extractive prose compressor added in #1171)\nonly handled ASCII: `split_segments` split on `.!?`+whitespace and\n`tokens` split on whitespace/alphanumeric runs. CJK\n(Chinese/Japanese/Korean) has neither spaces nor ASCII terminators, so a\nwhole CJK paragraph co\n[…]\n\nCI gate (Part C) uses only our own deterministic data.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(text-crusher): CJK-aware segmentation + relevance via ICU (#1504)",
"author_name": "Zhenjia ZHOU",
"author_login": "lifeodyssey",
"committed_at": "2026-07-15T19:58:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3757a7cef3c3f672287244f5d5c768b9b5c6f854",
"body": "## Summary\n- preflight unified diff inputs before calling the Rust unidiff parser\n- catch parser panics so malformed-but-diff-looking input falls back to\nnon-diff\n- add regressions for Bash xtrace lines like `+++ test.sh` and `+++\ndirname test.sh`\n\n## Repro\n`detect_content_type(\"+++ test.sh\")` could\n[…]\nlib\ntransforms::unidiff_detector::tests`\n- `cargo test -p headroom-core --lib`\n\nCo-authored-by: Michael Stattmann <mstattma@users.noreply.github.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(core): avoid unidiff panic on bash xtrace (#1506)",
"author_name": "mstattma",
"author_login": "mstattma",
"committed_at": "2026-07-15T19:58:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "05932d716567cc78087fc4080d45741be18e5cba",
"body": "## Description\n\nFixes two remaining OpenCode/OpenAI Chat compression gaps after `main`\nincorporated the original savings-profile threading and user\ncontent-block work from this PR.\n\nOpenCode requests can still report very low savings when most input\ntokens live in verbose `tools` schemas rather than\n[…]\nnsertions, no role-policy or\nforced-Kompress changes.\n- The mixed-content conflict was resolved by extending the new isolated\nparser module rather than reintroducing parsing code into\n`ContentRouter`.",
"is_bot": false,
"headline": "fix(proxy): compress OpenCode tool schemas and embedded JSON (#1535)",
"author_name": "vscunha",
"author_login": "vscunha",
"committed_at": "2026-07-15T19:58:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "942e916368fea78ba821d10f91ebe7a1b8fc9b19",
"body": "…ent (#1595)\n\n## Description\n\nHeadroom exposes plenty of *quantitative* compression telemetry (token\ncounts, ratios, `headroom perf`, `/metrics`) but no way to actually\n**see what the compressor changed** in the content. That makes it hard\nto trust compression or debug a quality regression (\"did it \n[…]\n] I have performed a self-review of my code\n- [x] I have made corresponding changes to the documentation\n- [x] My changes generate no new warnings\n- [x] I have added tests that prove the feature works",
"is_bot": false,
"headline": "feat(cli): add `headroom inspect` to view original vs compressed cont…",
"author_name": "Manmit Singh",
"author_login": "tenderdeve",
"committed_at": "2026-07-15T19:58:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4cbd5da67328d03078bd9c1fbbf10fe738cc0b2b",
"body": "## Description\n\nRequests whose path doesn't match a built-in API route fall through to\n`handle_passthrough`, which forwarded the body verbatim — bypassing\nContentRouter/Kompress/TOIN entirely. Wrapper-proxy setups that front\nHeadroom on custom paths (e.g. `/api/codex-proxy/<key>/v1/responses`)\ngot z\n[…]\nmessages` and OpenAI `/chat/completions` passthrough\ncompression are natural follow-ups — deliberately left out to keep this\nchange focused and fail-safe. CHANGELOG is release-managed, left\nunchecked.",
"is_bot": false,
"headline": "feat(proxy): opt-in compression for catch-all passthrough routes (#1699)",
"author_name": "Manmit Singh",
"author_login": "tenderdeve",
"committed_at": "2026-07-15T19:58:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6469fcd018db6edee8c766e0bf1282a3977fd3c2",
"body": "…T/Java/Node (#1791)\n\n## Description\n\nStack-trace handling covered only Python tracebacks and a generic ` at\nsymbol(` pattern. Go panics and Rust panics flowed to prose compression;\n.NET traces were unrecognized; Java chained exceptions split into\nseparate traces at every `Caused by:` (so later chai\n[…]\n log+trace payloads beyond the existing\nsuite\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(transforms): language-aware stack-trace collapse for Go/Rust/.NE…",
"author_name": "Ashish",
"author_login": "agaonker",
"committed_at": "2026-07-15T19:58:30Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "737b3321292c2cc0b126460710d62426486dc883",
"body": "…r (#1799)\n\n## Description\n\nAdds a schema-fold tier to the structured-config compressor (introduced\nin #1784). TOML files containing an `[[array-of-tables]]` are parsed\nwith the stdlib `tomllib` reference parser and bridged to SmartCrusher's\nlossless `csv-schema` renderer, which folds the repeated p\n[…]\nionally out of scope for this PR).\n\n## Review Readiness\n\n- [x] I have performed a self-review\n- [x] This PR is ready for human review\n\n---------\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(config): fold TOML array-of-tables to csv-schema via SmartCrushe…",
"author_name": "Ashish",
"author_login": "agaonker",
"committed_at": "2026-07-15T19:58:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "12a9710665b2495b9fe399e38625a9fa3ad6aa08",
"body": "## Description\n\nAdds per-bucket **output-shaping savings** to `/stats-history`. Today\noutput-shaping savings exist only as a single global aggregate\n(`savings.by_layer.output_shaping`), so downstream consumers can't chart\nthem over time. This threads a per-request output-savings estimate into\nthe ex\n[…]\n`/stats-history` schema\ndoc to update; point me at one if it exists.\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "feat(stats): per-bucket output-shaping savings in /stats-history (#1819)",
"author_name": "gglucass",
"author_login": "gglucass",
"committed_at": "2026-07-15T19:58:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dec60de976ee0a64b33bd4c4625c9e73688ddcd3",
"body": "## Description\n\nCloses #2159.\n\nCodex wrappers currently launch against a disposable `CODEX_HOME`, so\nsession state created during a wrapped run can disappear when that\ntemporary directory is removed. This change launches Codex against its\ndurable home, keeps proxy routing process-local, and adds rec\n[…]\nfull transcript.\n\nThe unchecked changelog item is not applicable because this repository\ndoes not require a changelog entry for this fix.\n\n---------\n\nCo-authored-by: JerrettDavis <mxjerrett@gmail.com>",
"is_bot": false,
"headline": "fix(codex): preserve wrapped sessions and recover state (#2160)",
"author_name": "Rudimar Ronsoni",
"author_login": "rudironsoni",
"committed_at": "2026-07-15T19:58:21Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 2324,
"latest_release_at": "2026-07-17T04:38:48Z",
"latest_release_tag": "v0.32.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 28,
"days_since_latest_release": 4,
"mean_days_between_releases": 4.7
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "headroom-ai",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"llm",
"openai",
"anthropic",
"claude",
"gpt",
"context",
"token",
"optimization",
"compression",
"caching",
"proxy",
"ai",
"machine-learning",
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries :: Python Modules",
"Typing :: Typed"
],
"ecosystem": "pypi",
"matches_repo": false,
"registry_url": "https://pypi.org/project/headroom-ai/",
"is_deprecated": false,
"latest_version": "0.32.1",
"repository_url": "https://github.com/chopratejas/headroom",
"versions_count": 192,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2026-01-10T22:25:40.070767Z",
"latest_published_at": "2026-07-19T04:39:30.588166Z",
"latest_version_yanked": null,
"days_since_latest_publish": 2
},
{
"name": "headroom-ai",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "npm",
"matches_repo": null,
"registry_url": "https://www.npmjs.com/package/headroom-ai",
"is_deprecated": false,
"latest_version": "0.22.4",
"repository_url": null,
"versions_count": 2,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 2,
"monthly_downloads": 115595,
"first_published_at": "2026-03-27T01:18:13.892000Z",
"latest_published_at": "2026-06-03T05:47:56.752000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 48
},
{
"name": "headroom-openclaw",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "npm",
"matches_repo": null,
"registry_url": "https://www.npmjs.com/package/headroom-openclaw",
"is_deprecated": false,
"latest_version": "0.1.0",
"repository_url": null,
"versions_count": 1,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 2,
"monthly_downloads": 394,
"first_published_at": "2026-03-29T06:55:17.253000Z",
"latest_published_at": "2026-03-29T06:55:17.577000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 114
}
]
},
"popularity": {
"forks": 4577,
"stars": 60929,
"watchers": 188,
"fork_history": {
"days": [
{
"date": "2026-06-26",
"count": 74
},
{
"date": "2026-06-27",
"count": 62
},
{
"date": "2026-06-28",
"count": 54
},
{
"date": "2026-06-29",
"count": 67
},
{
"date": "2026-06-30",
"count": 68
},
{
"date": "2026-07-01",
"count": 61
},
{
"date": "2026-07-02",
"count": 52
},
{
"date": "2026-07-03",
"count": 50
},
{
"date": "2026-07-04",
"count": 35
},
{
"date": "2026-07-05",
"count": 33
},
{
"date": "2026-07-06",
"count": 41
},
{
"date": "2026-07-07",
"count": 38
},
{
"date": "2026-07-08",
"count": 33
},
{
"date": "2026-07-09",
"count": 27
},
{
"date": "2026-07-10",
"count": 19
},
{
"date": "2026-07-11",
"count": 19
},
{
"date": "2026-07-12",
"count": 14
},
{
"date": "2026-07-13",
"count": 29
},
{
"date": "2026-07-14",
"count": 22
},
{
"date": "2026-07-15",
"count": 19
},
{
"date": "2026-07-16",
"count": 17
},
{
"date": "2026-07-17",
"count": 19
},
{
"date": "2026-07-18",
"count": 17
},
{
"date": "2026-07-19",
"count": 68
},
{
"date": "2026-07-20",
"count": 44
},
{
"date": "2026-07-21",
"count": 18
}
],
"complete": false,
"collected": 1000,
"total_forks": 4577
},
"star_history": {
"days": [
{
"date": "2026-07-19",
"count": 386
},
{
"date": "2026-07-20",
"count": 397
},
{
"date": "2026-07-21",
"count": 217
}
],
"complete": false,
"collected": 1000,
"total_stars": 60929
},
"open_issues_and_prs": 488
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples",
"notebooks"
],
"has_llms_txt": true,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": true,
"typecheck_configs": [
"docs/tsconfig.json",
"headroom/py.typed",
"plugins/openclaw/tsconfig.json",
"plugins/opencode/tsconfig.json",
"sdk/typescript/tsconfig.json"
],
"toolchain_manifests": [
"Cargo.toml",
"crates/headroom-core/Cargo.toml",
"crates/headroom-parity/Cargo.toml",
"crates/headroom-proxy/Cargo.toml",
"crates/headroom-py/Cargo.toml",
"crates/headroom-simulators/Cargo.toml"
],
"largest_source_bytes": 414942,
"source_files_sampled": 1639,
"oversized_source_files": 33,
"agent_instruction_files": [
".github/copilot-instructions.md"
],
"agent_instruction_max_bytes": 697
},
"dependencies": {
"manifests": [
"Cargo.toml",
"docs/package.json",
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "chromadb",
"direct": false,
"version": "1.1.1",
"severity": "critical",
"ecosystem": "pypi",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-f4j7-r4q5-qw2c",
"PYSEC-2026-311"
],
"fixed_version": null,
"advisory_count": 2,
"oldest_advisory_days": 63
},
{
"name": "json-repair",
"direct": false,
"version": "0.25.2",
"severity": "high",
"ecosystem": "pypi",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-xf7x-x43h-rpqh"
],
"fixed_version": "0.60.1",
"advisory_count": 1,
"oldest_advisory_days": 7
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2026-0204"
],
"fixed_version": "0.9.20",
"advisory_count": 1,
"oldest_advisory_days": 15
},
{
"name": "number_prefix",
"direct": false,
"version": "0.4.0",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2025-0119"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 246
},
{
"name": "paste",
"direct": false,
"version": "1.0.15",
"severity": "unknown",
"ecosystem": "crates",
"cvss_score": null,
"advisory_ids": [
"RUSTSEC-2024-0436"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 652
}
],
"collected": true,
"truncated": false,
"by_severity": {
"high": 1,
"unknown": 3,
"critical": 1
},
"advisory_count": 6,
"affected_count": 5,
"assessed_count": 1446,
"assessed_package": null,
"unassessed_count": 48,
"direct_affected_count": 0
},
"ecosystems": [
"crates",
"npm",
"pypi"
],
"dependencies": [
{
"name": "tiktoken",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.5.0"
},
{
"name": "pydantic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.0"
},
{
"name": "litellm",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.86.2,<2.0"
},
{
"name": "click",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=8.3.3"
},
{
"name": "rich",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=13.0.0"
},
{
"name": "opentelemetry-api",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=1.24.0"
},
{
"name": "ast-grep-cli",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.30.0,!=0.44.1"
},
{
"name": "pyyaml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=6.0"
},
{
"name": "tomli",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.0.0"
},
{
"name": "tomlkit",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.13.0,<1.0"
},
{
"name": "serde",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "bytes",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tiktoken-rs",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.11"
},
{
"name": "tokenizers",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.22"
},
{
"name": "hf-hub",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4"
},
{
"name": "md-5",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10"
},
{
"name": "sha2",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10"
},
{
"name": "dashmap",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "6"
},
{
"name": "regex",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "icu_segmenter",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2.2"
},
{
"name": "flate2",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "magika",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "unidiff",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.4"
},
{
"name": "aho-corasick",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "rayon",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "toml",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1.1"
},
{
"name": "blake3",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "rusqlite",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.32"
},
{
"name": "redis",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.27"
},
{
"name": "http",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "fastembed",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "5"
},
{
"name": "ort",
"manifest": "crates/headroom-core/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2.0.0-rc.12"
},
{
"name": "serde",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "anyhow",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "clap",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "headroom-core",
"manifest": "crates/headroom-parity/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tower",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tower-http",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.7"
},
{
"name": "tracing",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing-subscriber",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.3"
},
{
"name": "reqwest",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.12"
},
{
"name": "tokio-tungstenite",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.24"
},
{
"name": "clap",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "uuid",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "bytes",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "futures",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.3"
},
{
"name": "futures-util",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.3"
},
{
"name": "pin-project-lite",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.2"
},
{
"name": "http",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "http-body-util",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.1"
},
{
"name": "hyper",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "url",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2"
},
{
"name": "humantime",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "2"
},
{
"name": "bytesize",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "tokio-util",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.7"
},
{
"name": "headroom-core",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-sigv4",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-config",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-credential-types",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "aws-smithy-runtime-api",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "crc32fast",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "prometheus",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "=0.14.0"
},
{
"name": "sha2",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10"
},
{
"name": "lru",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.18"
},
{
"name": "gcp_auth",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "async-trait",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.1"
},
{
"name": "md-5",
"manifest": "crates/headroom-proxy/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.10"
},
{
"name": "headroom-core",
"manifest": "crates/headroom-py/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "pyo3",
"manifest": "crates/headroom-py/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "pyo3-log",
"manifest": "crates/headroom-py/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/headroom-py/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "axum",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tokio",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "clap",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "serde_json",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "thiserror",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "bytes",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": null
},
{
"name": "tracing-subscriber",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "0.3"
},
{
"name": "http",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "crc32fast",
"manifest": "crates/headroom-simulators/Cargo.toml",
"ecosystem": "crates",
"version_constraint": "1"
},
{
"name": "headroom-ai",
"manifest": "plugins/openclaw/package.json",
"ecosystem": "npm",
"version_constraint": "^0.22.3"
},
{
"name": "@opencode-ai/plugin",
"manifest": "plugins/opencode/package.json",
"ecosystem": "npm",
"version_constraint": "^1.17.16"
},
{
"name": "headroom-ai",
"manifest": "plugins/opencode/package.json",
"ecosystem": "npm",
"version_constraint": "^0.22.3"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "aho-corasick",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "aho-corasick",
"direct": true,
"version": "1.1.4",
"ecosystem": "crates"
},
{
"name": "anyhow",
"direct": true,
"version": "1.0.103",
"ecosystem": "crates"
},
{
"name": "async-trait",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "async-trait",
"direct": true,
"version": "0.1.89",
"ecosystem": "crates"
},
{
"name": "aws-config",
"direct": true,
"version": "1.8.18",
"ecosystem": "crates"
},
{
"name": "aws-credential-types",
"direct": true,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "aws-sigv4",
"direct": true,
"version": "1.4.5",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime-api",
"direct": true,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "axum",
"direct": true,
"version": "0.7.9",
"ecosystem": "crates"
},
{
"name": "blake3",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "blake3",
"direct": true,
"version": "1.8.5",
"ecosystem": "crates"
},
{
"name": "bytes",
"direct": true,
"version": "1.12.1",
"ecosystem": "crates"
},
{
"name": "bytesize",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "bytesize",
"direct": true,
"version": "1.3.3",
"ecosystem": "crates"
},
{
"name": "clap",
"direct": true,
"version": "4.6.1",
"ecosystem": "crates"
},
{
"name": "crc32fast",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "crc32fast",
"direct": true,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "dashmap",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "dashmap",
"direct": true,
"version": "6.2.1",
"ecosystem": "crates"
},
{
"name": "fastembed",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "fastembed",
"direct": true,
"version": "5.17.2",
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": true,
"version": "1.1.9",
"ecosystem": "crates"
},
{
"name": "futures",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "futures",
"direct": true,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": true,
"version": "0.3.32",
"ecosystem": "crates"
},
{
"name": "gcp_auth",
"direct": true,
"version": "0.12.7",
"ecosystem": "crates"
},
{
"name": "hf-hub",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "hf-hub",
"direct": true,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "hf-hub",
"direct": true,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "http",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "http",
"direct": true,
"version": "0.2.12",
"ecosystem": "crates"
},
{
"name": "http",
"direct": true,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "http-body-util",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "http-body-util",
"direct": true,
"version": "0.1.3",
"ecosystem": "crates"
},
{
"name": "humantime",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "humantime",
"direct": true,
"version": "2.4.0",
"ecosystem": "crates"
},
{
"name": "hyper",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "hyper",
"direct": true,
"version": "1.10.1",
"ecosystem": "crates"
},
{
"name": "icu_segmenter",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "icu_segmenter",
"direct": true,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "lru",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "lru",
"direct": true,
"version": "0.18.0",
"ecosystem": "crates"
},
{
"name": "magika",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "magika",
"direct": true,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "md-5",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "md-5",
"direct": true,
"version": "0.10.6",
"ecosystem": "crates"
},
{
"name": "ort",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "ort",
"direct": true,
"version": "2.0.0-rc.12",
"ecosystem": "crates"
},
{
"name": "pin-project-lite",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "pin-project-lite",
"direct": true,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "prometheus",
"direct": true,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "pyo3",
"direct": true,
"version": "0.29.0",
"ecosystem": "crates"
},
{
"name": "pyo3-log",
"direct": true,
"version": "0.13.4",
"ecosystem": "crates"
},
{
"name": "rayon",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "rayon",
"direct": true,
"version": "1.12.0",
"ecosystem": "crates"
},
{
"name": "redis",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "redis",
"direct": true,
"version": "0.27.6",
"ecosystem": "crates"
},
{
"name": "regex",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "regex",
"direct": true,
"version": "1.12.4",
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "reqwest",
"direct": true,
"version": "0.12.28",
"ecosystem": "crates"
},
{
"name": "rusqlite",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "rusqlite",
"direct": true,
"version": "0.32.1",
"ecosystem": "crates"
},
{
"name": "serde",
"direct": true,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": true,
"version": "1.0.150",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": true,
"version": "0.10.9",
"ecosystem": "crates"
},
{
"name": "sha2",
"direct": true,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": true,
"version": "1.0.69",
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": true,
"version": "2.0.18",
"ecosystem": "crates"
},
{
"name": "tiktoken-rs",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tiktoken-rs",
"direct": true,
"version": "0.11.0",
"ecosystem": "crates"
},
{
"name": "tokenizers",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokenizers",
"direct": true,
"version": "0.22.2",
"ecosystem": "crates"
},
{
"name": "tokio",
"direct": true,
"version": "1.52.3",
"ecosystem": "crates"
},
{
"name": "tokio-tungstenite",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-tungstenite",
"direct": true,
"version": "0.24.0",
"ecosystem": "crates"
},
{
"name": "tokio-util",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-util",
"direct": true,
"version": "0.7.18",
"ecosystem": "crates"
},
{
"name": "toml",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "toml",
"direct": true,
"version": "1.1.2+spec-1.1.0",
"ecosystem": "crates"
},
{
"name": "tower",
"direct": true,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "tower-http",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tower-http",
"direct": true,
"version": "0.6.11",
"ecosystem": "crates"
},
{
"name": "tower-http",
"direct": true,
"version": "0.7.0",
"ecosystem": "crates"
},
{
"name": "tracing",
"direct": true,
"version": "0.1.44",
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "tracing-subscriber",
"direct": true,
"version": "0.3.23",
"ecosystem": "crates"
},
{
"name": "unidiff",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "unidiff",
"direct": true,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "url",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "url",
"direct": true,
"version": "2.5.8",
"ecosystem": "crates"
},
{
"name": "uuid",
"direct": true,
"version": null,
"ecosystem": "crates"
},
{
"name": "uuid",
"direct": true,
"version": "1.23.4",
"ecosystem": "crates"
},
{
"name": "@opencode-ai/plugin",
"direct": true,
"version": "1.17.16",
"ecosystem": "npm"
},
{
"name": "headroom-ai",
"direct": true,
"version": "0.22.4",
"ecosystem": "npm"
},
{
"name": "ast-grep-cli",
"direct": true,
"version": "0.42.1",
"ecosystem": "pypi"
},
{
"name": "click",
"direct": true,
"version": "8.4.2",
"ecosystem": "pypi"
},
{
"name": "litellm",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "litellm",
"direct": true,
"version": "1.88.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-api",
"direct": true,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "pydantic",
"direct": true,
"version": "2.12.5",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": "6.0.3",
"ecosystem": "pypi"
},
{
"name": "rich",
"direct": true,
"version": "14.3.1",
"ecosystem": "pypi"
},
{
"name": "tiktoken",
"direct": true,
"version": "0.12.0",
"ecosystem": "pypi"
},
{
"name": "tomli",
"direct": true,
"version": "2.4.0",
"ecosystem": "pypi"
},
{
"name": "tomlkit",
"direct": true,
"version": "0.15.0",
"ecosystem": "pypi"
},
{
"name": "adler2",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "ahash",
"direct": false,
"version": "0.8.12",
"ecosystem": "crates"
},
{
"name": "aligned",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "aligned-vec",
"direct": false,
"version": "0.6.4",
"ecosystem": "crates"
},
{
"name": "allocator-api2",
"direct": false,
"version": "0.2.21",
"ecosystem": "crates"
},
{
"name": "android_system_properties",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "anes",
"direct": false,
"version": "0.1.6",
"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": "arbitrary",
"direct": false,
"version": "1.4.2",
"ecosystem": "crates"
},
{
"name": "arc-swap",
"direct": false,
"version": "1.9.1",
"ecosystem": "crates"
},
{
"name": "arg_enum_proc_macro",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "arrayref",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "arrayvec",
"direct": false,
"version": "0.7.7",
"ecosystem": "crates"
},
{
"name": "as-slice",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "assert-json-diff",
"direct": false,
"version": "2.0.2",
"ecosystem": "crates"
},
{
"name": "atomic-waker",
"direct": false,
"version": "1.1.2",
"ecosystem": "crates"
},
{
"name": "autocfg",
"direct": false,
"version": "1.5.1",
"ecosystem": "crates"
},
{
"name": "av-scenechange",
"direct": false,
"version": "0.14.1",
"ecosystem": "crates"
},
{
"name": "av1-grain",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "avif-serialize",
"direct": false,
"version": "0.8.9",
"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": "aws-runtime",
"direct": false,
"version": "1.7.5",
"ecosystem": "crates"
},
{
"name": "aws-sdk-sso",
"direct": false,
"version": "1.102.0",
"ecosystem": "crates"
},
{
"name": "aws-sdk-ssooidc",
"direct": false,
"version": "1.104.0",
"ecosystem": "crates"
},
{
"name": "aws-sdk-sts",
"direct": false,
"version": "1.107.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-async",
"direct": false,
"version": "1.3.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-http",
"direct": false,
"version": "0.63.6",
"ecosystem": "crates"
},
{
"name": "aws-smithy-http-client",
"direct": false,
"version": "1.1.13",
"ecosystem": "crates"
},
{
"name": "aws-smithy-json",
"direct": false,
"version": "0.62.7",
"ecosystem": "crates"
},
{
"name": "aws-smithy-observability",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "aws-smithy-query",
"direct": false,
"version": "0.60.15",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime",
"direct": false,
"version": "1.11.3",
"ecosystem": "crates"
},
{
"name": "aws-smithy-runtime-api-macros",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-schema",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "aws-smithy-types",
"direct": false,
"version": "1.6.1",
"ecosystem": "crates"
},
{
"name": "aws-smithy-xml",
"direct": false,
"version": "0.60.15",
"ecosystem": "crates"
},
{
"name": "aws-types",
"direct": false,
"version": "1.3.16",
"ecosystem": "crates"
},
{
"name": "axum-core",
"direct": false,
"version": "0.4.5",
"ecosystem": "crates"
},
{
"name": "axum-macros",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "base64",
"direct": false,
"version": "0.13.1",
"ecosystem": "crates"
},
{
"name": "base64",
"direct": false,
"version": "0.22.1",
"ecosystem": "crates"
},
{
"name": "base64-simd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bit-set",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bit-vec",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "bit_field",
"direct": false,
"version": "0.10.3",
"ecosystem": "crates"
},
{
"name": "bitflags",
"direct": false,
"version": "2.13.0",
"ecosystem": "crates"
},
{
"name": "bitstream-io",
"direct": false,
"version": "4.10.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": "bstr",
"direct": false,
"version": "1.12.1",
"ecosystem": "crates"
},
{
"name": "built",
"direct": false,
"version": "0.8.1",
"ecosystem": "crates"
},
{
"name": "bumpalo",
"direct": false,
"version": "3.20.3",
"ecosystem": "crates"
},
{
"name": "bytemuck",
"direct": false,
"version": "1.25.0",
"ecosystem": "crates"
},
{
"name": "byteorder",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "byteorder-lite",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "bytes-utils",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "cast",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "castaway",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "cc",
"direct": false,
"version": "1.2.66",
"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": "chrono",
"direct": false,
"version": "0.4.45",
"ecosystem": "crates"
},
{
"name": "ciborium",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "ciborium-io",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "ciborium-ll",
"direct": false,
"version": "0.2.2",
"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": "color_quant",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "colorchoice",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "combine",
"direct": false,
"version": "4.6.7",
"ecosystem": "crates"
},
{
"name": "compact_str",
"direct": false,
"version": "0.9.1",
"ecosystem": "crates"
},
{
"name": "console",
"direct": false,
"version": "0.15.11",
"ecosystem": "crates"
},
{
"name": "console",
"direct": false,
"version": "0.16.3",
"ecosystem": "crates"
},
{
"name": "const-oid",
"direct": false,
"version": "0.10.2",
"ecosystem": "crates"
},
{
"name": "constant_time_eq",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "cookie",
"direct": false,
"version": "0.18.1",
"ecosystem": "crates"
},
{
"name": "cookie_store",
"direct": false,
"version": "0.22.1",
"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": "core_maths",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.2.17",
"ecosystem": "crates"
},
{
"name": "cpufeatures",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "criterion",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "criterion",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "criterion-plot",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "crossbeam-deque",
"direct": false,
"version": "0.8.6",
"ecosystem": "crates"
},
{
"name": "crossbeam-epoch",
"direct": false,
"version": "0.9.18",
"ecosystem": "crates"
},
{
"name": "crossbeam-utils",
"direct": false,
"version": "0.8.21",
"ecosystem": "crates"
},
{
"name": "crunchy",
"direct": false,
"version": "0.2.4",
"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": "darling",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "darling_core",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "darling_macro",
"direct": false,
"version": "0.20.11",
"ecosystem": "crates"
},
{
"name": "dary_heap",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "data-encoding",
"direct": false,
"version": "2.11.0",
"ecosystem": "crates"
},
{
"name": "deadpool",
"direct": false,
"version": "0.12.3",
"ecosystem": "crates"
},
{
"name": "deadpool-runtime",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "deranged",
"direct": false,
"version": "0.5.8",
"ecosystem": "crates"
},
{
"name": "derive_builder",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "derive_builder_core",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "derive_builder_macro",
"direct": false,
"version": "0.20.2",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.10.7",
"ecosystem": "crates"
},
{
"name": "digest",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "dirs",
"direct": false,
"version": "6.0.0",
"ecosystem": "crates"
},
{
"name": "dirs-sys",
"direct": false,
"version": "0.5.0",
"ecosystem": "crates"
},
{
"name": "displaydoc",
"direct": false,
"version": "0.2.6",
"ecosystem": "crates"
},
{
"name": "document-features",
"direct": false,
"version": "0.2.12",
"ecosystem": "crates"
},
{
"name": "dunce",
"direct": false,
"version": "1.0.5",
"ecosystem": "crates"
},
{
"name": "either",
"direct": false,
"version": "1.16.0",
"ecosystem": "crates"
},
{
"name": "encode_unicode",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "encoding_rs",
"direct": false,
"version": "0.8.35",
"ecosystem": "crates"
},
{
"name": "equator",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "equator-macro",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "equivalent",
"direct": false,
"version": "1.0.2",
"ecosystem": "crates"
},
{
"name": "errno",
"direct": false,
"version": "0.3.14",
"ecosystem": "crates"
},
{
"name": "esaxx-rs",
"direct": false,
"version": "0.1.10",
"ecosystem": "crates"
},
{
"name": "exr",
"direct": false,
"version": "1.74.0",
"ecosystem": "crates"
},
{
"name": "fallible-iterator",
"direct": false,
"version": "0.3.0",
"ecosystem": "crates"
},
{
"name": "fallible-streaming-iterator",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "fancy-regex",
"direct": false,
"version": "0.17.0",
"ecosystem": "crates"
},
{
"name": "fastrand",
"direct": false,
"version": "2.4.1",
"ecosystem": "crates"
},
{
"name": "fax",
"direct": false,
"version": "0.2.7",
"ecosystem": "crates"
},
{
"name": "fdeflate",
"direct": false,
"version": "0.3.7",
"ecosystem": "crates"
},
{
"name": "find-msvc-tools",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "fnv",
"direct": false,
"version": "1.0.7",
"ecosystem": "crates"
},
{
"name": "foldhash",
"direct": false,
"version": "0.2.0",
"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-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": "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": "gif",
"direct": false,
"version": "0.14.2",
"ecosystem": "crates"
},
{
"name": "h2",
"direct": false,
"version": "0.4.15",
"ecosystem": "crates"
},
{
"name": "half",
"direct": false,
"version": "2.7.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.14.5",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.16.1",
"ecosystem": "crates"
},
{
"name": "hashbrown",
"direct": false,
"version": "0.17.1",
"ecosystem": "crates"
},
{
"name": "hashlink",
"direct": false,
"version": "0.9.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": "hex",
"direct": false,
"version": "0.4.3",
"ecosystem": "crates"
},
{
"name": "hmac",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "http-body",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "http-body",
"direct": false,
"version": "1.0.1",
"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-rustls",
"direct": false,
"version": "0.27.9",
"ecosystem": "crates"
},
{
"name": "hyper-util",
"direct": false,
"version": null,
"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.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_core",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_locale_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_normalizer_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_properties_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_provider",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "icu_segmenter_data",
"direct": false,
"version": "2.2.0",
"ecosystem": "crates"
},
{
"name": "ident_case",
"direct": false,
"version": "1.0.1",
"ecosystem": "crates"
},
{
"name": "idna",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "idna_adapter",
"direct": false,
"version": "1.2.2",
"ecosystem": "crates"
},
{
"name": "image",
"direct": false,
"version": "0.25.10",
"ecosystem": "crates"
},
{
"name": "image-webp",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "imgref",
"direct": false,
"version": "1.12.2",
"ecosystem": "crates"
},
{
"name": "indexmap",
"direct": false,
"version": "2.14.0",
"ecosystem": "crates"
},
{
"name": "indicatif",
"direct": false,
"version": "0.17.11",
"ecosystem": "crates"
},
{
"name": "indicatif",
"direct": false,
"version": "0.18.4",
"ecosystem": "crates"
},
{
"name": "interpolate_name",
"direct": false,
"version": "0.2.4",
"ecosystem": "crates"
},
{
"name": "ipnet",
"direct": false,
"version": "2.12.0",
"ecosystem": "crates"
},
{
"name": "is-terminal",
"direct": false,
"version": "0.4.17",
"ecosystem": "crates"
},
{
"name": "is_terminal_polyfill",
"direct": false,
"version": "1.70.2",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": false,
"version": "0.10.5",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "itertools",
"direct": false,
"version": "0.14.0",
"ecosystem": "crates"
},
{
"name": "itoa",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "jobserver",
"direct": false,
"version": "0.1.34",
"ecosystem": "crates"
},
{
"name": "js-sys",
"direct": false,
"version": "0.3.102",
"ecosystem": "crates"
},
{
"name": "lazy_static",
"direct": false,
"version": "1.5.0",
"ecosystem": "crates"
},
{
"name": "lebe",
"direct": false,
"version": "0.5.3",
"ecosystem": "crates"
},
{
"name": "libc",
"direct": false,
"version": "0.2.186",
"ecosystem": "crates"
},
{
"name": "libfuzzer-sys",
"direct": false,
"version": "0.4.13",
"ecosystem": "crates"
},
{
"name": "libloading",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "libm",
"direct": false,
"version": "0.2.16",
"ecosystem": "crates"
},
{
"name": "libredox",
"direct": false,
"version": "0.1.17",
"ecosystem": "crates"
},
{
"name": "libsqlite3-sys",
"direct": false,
"version": "0.30.1",
"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": "litrs",
"direct": false,
"version": "1.0.0",
"ecosystem": "crates"
},
{
"name": "lock_api",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "log",
"direct": false,
"version": "0.4.33",
"ecosystem": "crates"
},
{
"name": "loop9",
"direct": false,
"version": "0.1.5",
"ecosystem": "crates"
},
{
"name": "lru-slab",
"direct": false,
"version": "0.1.2",
"ecosystem": "crates"
},
{
"name": "macro_rules_attribute",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "macro_rules_attribute-proc_macro",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "matchers",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "matchit",
"direct": false,
"version": "0.7.3",
"ecosystem": "crates"
},
{
"name": "matrixmultiply",
"direct": false,
"version": "0.3.10",
"ecosystem": "crates"
},
{
"name": "maybe-rayon",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "memchr",
"direct": false,
"version": "2.8.2",
"ecosystem": "crates"
},
{
"name": "mime",
"direct": false,
"version": "0.3.17",
"ecosystem": "crates"
},
{
"name": "minimal-lexical",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "miniz_oxide",
"direct": false,
"version": "0.8.9",
"ecosystem": "crates"
},
{
"name": "mio",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "monostate",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "monostate-impl",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "moxcms",
"direct": false,
"version": "0.8.1",
"ecosystem": "crates"
},
{
"name": "ndarray",
"direct": false,
"version": "0.17.2",
"ecosystem": "crates"
},
{
"name": "new_debug_unreachable",
"direct": false,
"version": "1.0.6",
"ecosystem": "crates"
},
{
"name": "no_std_io2",
"direct": false,
"version": "0.9.4",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "7.1.3",
"ecosystem": "crates"
},
{
"name": "nom",
"direct": false,
"version": "8.0.0",
"ecosystem": "crates"
},
{
"name": "noop_proc_macro",
"direct": false,
"version": "0.3.0",
"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-complex",
"direct": false,
"version": "0.4.6",
"ecosystem": "crates"
},
{
"name": "num-conv",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "num-derive",
"direct": false,
"version": "0.4.2",
"ecosystem": "crates"
},
{
"name": "num-integer",
"direct": false,
"version": "0.1.46",
"ecosystem": "crates"
},
{
"name": "num-rational",
"direct": false,
"version": "0.4.2",
"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": "number_prefix",
"direct": false,
"version": "0.4.0",
"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": "onig",
"direct": false,
"version": "6.5.3",
"ecosystem": "crates"
},
{
"name": "onig_sys",
"direct": false,
"version": "69.9.3",
"ecosystem": "crates"
},
{
"name": "oorandom",
"direct": false,
"version": "11.1.5",
"ecosystem": "crates"
},
{
"name": "openssl-probe",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "option-ext",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "ort-sys",
"direct": false,
"version": "2.0.0-rc.12",
"ecosystem": "crates"
},
{
"name": "outref",
"direct": false,
"version": "0.5.2",
"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": "paste",
"direct": false,
"version": "1.0.15",
"ecosystem": "crates"
},
{
"name": "pastey",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "percent-encoding",
"direct": false,
"version": "2.3.2",
"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-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "crates"
},
{
"name": "pkg-config",
"direct": false,
"version": "0.3.33",
"ecosystem": "crates"
},
{
"name": "plotters",
"direct": false,
"version": "0.3.7",
"ecosystem": "crates"
},
{
"name": "plotters-backend",
"direct": false,
"version": "0.3.7",
"ecosystem": "crates"
},
{
"name": "plotters-svg",
"direct": false,
"version": "0.3.7",
"ecosystem": "crates"
},
{
"name": "png",
"direct": false,
"version": "0.18.1",
"ecosystem": "crates"
},
{
"name": "portable-atomic",
"direct": false,
"version": "1.13.1",
"ecosystem": "crates"
},
{
"name": "portable-atomic-util",
"direct": false,
"version": "0.2.7",
"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": "profiling",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "profiling-procmacros",
"direct": false,
"version": "1.0.18",
"ecosystem": "crates"
},
{
"name": "proptest",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "proptest",
"direct": false,
"version": "1.11.0",
"ecosystem": "crates"
},
{
"name": "pxfm",
"direct": false,
"version": "0.1.29",
"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": "qoi",
"direct": false,
"version": "0.4.1",
"ecosystem": "crates"
},
{
"name": "quick-error",
"direct": false,
"version": "1.2.3",
"ecosystem": "crates"
},
{
"name": "quick-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "crates"
},
{
"name": "quinn",
"direct": false,
"version": "0.11.11",
"ecosystem": "crates"
},
{
"name": "quinn-proto",
"direct": false,
"version": "0.11.15",
"ecosystem": "crates"
},
{
"name": "quinn-udp",
"direct": false,
"version": "0.5.14",
"ecosystem": "crates"
},
{
"name": "quote",
"direct": false,
"version": "1.0.46",
"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.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.6.4",
"ecosystem": "crates"
},
{
"name": "rand_core",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "rand_xorshift",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "rav1e",
"direct": false,
"version": "0.8.1",
"ecosystem": "crates"
},
{
"name": "ravif",
"direct": false,
"version": "0.13.0",
"ecosystem": "crates"
},
{
"name": "rawpointer",
"direct": false,
"version": "0.2.1",
"ecosystem": "crates"
},
{
"name": "rayon-cond",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "rayon-core",
"direct": false,
"version": "1.13.0",
"ecosystem": "crates"
},
{
"name": "redox_syscall",
"direct": false,
"version": "0.5.18",
"ecosystem": "crates"
},
{
"name": "redox_users",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "regex-automata",
"direct": false,
"version": "0.4.14",
"ecosystem": "crates"
},
{
"name": "regex-lite",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "regex-syntax",
"direct": false,
"version": "0.8.11",
"ecosystem": "crates"
},
{
"name": "rgb",
"direct": false,
"version": "0.8.53",
"ecosystem": "crates"
},
{
"name": "ring",
"direct": false,
"version": "0.17.14",
"ecosystem": "crates"
},
{
"name": "rustc-hash",
"direct": false,
"version": "1.1.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": "0.23.41",
"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-webpki",
"direct": false,
"version": "0.103.13",
"ecosystem": "crates"
},
{
"name": "rustversion",
"direct": false,
"version": "1.0.22",
"ecosystem": "crates"
},
{
"name": "rusty-fork",
"direct": false,
"version": "0.3.1",
"ecosystem": "crates"
},
{
"name": "ryu",
"direct": false,
"version": "1.0.23",
"ecosystem": "crates"
},
{
"name": "safetensors",
"direct": false,
"version": "0.8.0",
"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_core",
"direct": false,
"version": "1.0.228",
"ecosystem": "crates"
},
{
"name": "serde_derive",
"direct": false,
"version": "1.0.228",
"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",
"direct": false,
"version": "0.10.6",
"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-adler32",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "simd_helpers",
"direct": false,
"version": "0.1.0",
"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": "socks",
"direct": false,
"version": "0.3.4",
"ecosystem": "crates"
},
{
"name": "spm_precompiled",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "stable_deref_trait",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "static_assertions",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "strsim",
"direct": false,
"version": "0.11.1",
"ecosystem": "crates"
},
{
"name": "subtle",
"direct": false,
"version": "2.6.1",
"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-impl",
"direct": false,
"version": "1.0.69",
"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": "tiff",
"direct": false,
"version": "0.11.3",
"ecosystem": "crates"
},
{
"name": "time",
"direct": false,
"version": "0.3.51",
"ecosystem": "crates"
},
{
"name": "time-core",
"direct": false,
"version": "0.1.9",
"ecosystem": "crates"
},
{
"name": "time-macros",
"direct": false,
"version": "0.2.30",
"ecosystem": "crates"
},
{
"name": "tinystr",
"direct": false,
"version": "0.8.3",
"ecosystem": "crates"
},
{
"name": "tinytemplate",
"direct": false,
"version": "1.2.1",
"ecosystem": "crates"
},
{
"name": "tinyvec",
"direct": false,
"version": "1.11.0",
"ecosystem": "crates"
},
{
"name": "tinyvec_macros",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "tokio-macros",
"direct": false,
"version": "2.7.0",
"ecosystem": "crates"
},
{
"name": "tokio-rustls",
"direct": false,
"version": "0.26.4",
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": false,
"version": "0.1.18",
"ecosystem": "crates"
},
{
"name": "toml_datetime",
"direct": false,
"version": "1.1.1+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": "tower-layer",
"direct": false,
"version": "0.3.3",
"ecosystem": "crates"
},
{
"name": "tower-service",
"direct": false,
"version": "0.3.3",
"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-futures",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "tracing-log",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "tracing-serde",
"direct": false,
"version": "0.2.0",
"ecosystem": "crates"
},
{
"name": "try-lock",
"direct": false,
"version": "0.2.5",
"ecosystem": "crates"
},
{
"name": "tungstenite",
"direct": false,
"version": "0.24.0",
"ecosystem": "crates"
},
{
"name": "typenum",
"direct": false,
"version": "1.20.1",
"ecosystem": "crates"
},
{
"name": "unarray",
"direct": false,
"version": "0.1.4",
"ecosystem": "crates"
},
{
"name": "unicode-ident",
"direct": false,
"version": "1.0.24",
"ecosystem": "crates"
},
{
"name": "unicode-normalization-alignments",
"direct": false,
"version": "0.1.12",
"ecosystem": "crates"
},
{
"name": "unicode-segmentation",
"direct": false,
"version": "1.13.3",
"ecosystem": "crates"
},
{
"name": "unicode-width",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "unicode_categories",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "unit-prefix",
"direct": false,
"version": "0.5.2",
"ecosystem": "crates"
},
{
"name": "untrusted",
"direct": false,
"version": "0.9.0",
"ecosystem": "crates"
},
{
"name": "ureq",
"direct": false,
"version": "2.12.1",
"ecosystem": "crates"
},
{
"name": "ureq",
"direct": false,
"version": "3.3.0",
"ecosystem": "crates"
},
{
"name": "ureq-proto",
"direct": false,
"version": "0.6.0",
"ecosystem": "crates"
},
{
"name": "urlencoding",
"direct": false,
"version": "2.1.3",
"ecosystem": "crates"
},
{
"name": "utf-8",
"direct": false,
"version": "0.7.6",
"ecosystem": "crates"
},
{
"name": "utf8-zero",
"direct": false,
"version": "0.8.1",
"ecosystem": "crates"
},
{
"name": "utf8_iter",
"direct": false,
"version": "1.0.4",
"ecosystem": "crates"
},
{
"name": "utf8parse",
"direct": false,
"version": "0.2.2",
"ecosystem": "crates"
},
{
"name": "v_frame",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "valuable",
"direct": false,
"version": "0.1.1",
"ecosystem": "crates"
},
{
"name": "vcpkg",
"direct": false,
"version": "0.2.15",
"ecosystem": "crates"
},
{
"name": "version_check",
"direct": false,
"version": "0.9.5",
"ecosystem": "crates"
},
{
"name": "vsimd",
"direct": false,
"version": "0.8.0",
"ecosystem": "crates"
},
{
"name": "wait-timeout",
"direct": false,
"version": "0.2.1",
"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": "wasip2",
"direct": false,
"version": "1.0.4+wasi-0.2.12",
"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": "web-sys",
"direct": false,
"version": "0.3.102",
"ecosystem": "crates"
},
{
"name": "web-time",
"direct": false,
"version": "1.1.0",
"ecosystem": "crates"
},
{
"name": "webpki-roots",
"direct": false,
"version": "0.26.11",
"ecosystem": "crates"
},
{
"name": "webpki-roots",
"direct": false,
"version": "1.0.8",
"ecosystem": "crates"
},
{
"name": "weezl",
"direct": false,
"version": "0.1.12",
"ecosystem": "crates"
},
{
"name": "winapi",
"direct": false,
"version": "0.3.9",
"ecosystem": "crates"
},
{
"name": "winapi-i686-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "winapi-util",
"direct": false,
"version": "0.1.11",
"ecosystem": "crates"
},
{
"name": "winapi-x86_64-pc-windows-gnu",
"direct": false,
"version": "0.4.0",
"ecosystem": "crates"
},
{
"name": "windows-core",
"direct": false,
"version": "0.62.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-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.59.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_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": "1.0.3",
"ecosystem": "crates"
},
{
"name": "wiremock",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "wiremock",
"direct": false,
"version": "0.6.5",
"ecosystem": "crates"
},
{
"name": "wit-bindgen",
"direct": false,
"version": "0.57.1",
"ecosystem": "crates"
},
{
"name": "writeable",
"direct": false,
"version": "0.6.3",
"ecosystem": "crates"
},
{
"name": "xmlparser",
"direct": false,
"version": "0.13.6",
"ecosystem": "crates"
},
{
"name": "y4m",
"direct": false,
"version": "0.8.0",
"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": "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": "zune-core",
"direct": false,
"version": "0.5.1",
"ecosystem": "crates"
},
{
"name": "zune-inflate",
"direct": false,
"version": "0.2.54",
"ecosystem": "crates"
},
{
"name": "zune-jpeg",
"direct": false,
"version": "0.5.15",
"ecosystem": "crates"
},
{
"name": "@ai-sdk/anthropic",
"direct": false,
"version": "3.0.64",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/gateway",
"direct": false,
"version": "3.0.80",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/gateway",
"direct": false,
"version": "3.0.91",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/openai",
"direct": false,
"version": "3.0.48",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/openai",
"direct": false,
"version": "3.0.51",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/provider",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/provider",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/provider-utils",
"direct": false,
"version": "4.0.21",
"ecosystem": "npm"
},
{
"name": "@ai-sdk/provider-utils",
"direct": false,
"version": "4.0.23",
"ecosystem": "npm"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@anthropic-ai/sdk",
"direct": false,
"version": "0.106.0",
"ecosystem": "npm"
},
{
"name": "@anthropic-ai/sdk",
"direct": false,
"version": "0.110.0",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@base-ui/react",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "@base-ui/utils",
"direct": false,
"version": "0.3.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"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": "@floating-ui/core",
"direct": false,
"version": "1.7.5",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": false,
"version": "1.7.6",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react-dom",
"direct": false,
"version": "2.1.8",
"ecosystem": "npm"
},
{
"name": "@floating-ui/utils",
"direct": false,
"version": "0.2.11",
"ecosystem": "npm"
},
{
"name": "@fuma-translate/react",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@fumadocs/tailwind",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "@img/colour",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-ppc64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-riscv64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-s390x",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-ppc64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-riscv64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-s390x",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-wasm32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-ia32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@mdx-js/mdx",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-darwin-arm64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-darwin-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-arm",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-arm64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-linux-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@msgpackr-extract/msgpackr-extract-win32-x64",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@next/env",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-arm64",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-darwin-x64",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-gnu",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-arm64-musl",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-gnu",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-linux-x64-musl",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-arm64-msvc",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@next/swc-win32-x64-msvc",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "@opencode-ai/sdk",
"direct": false,
"version": "1.17.16",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "@orama/orama",
"direct": false,
"version": "3.1.18",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.139.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/number",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/primitive",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-accordion",
"direct": false,
"version": "1.2.16",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-arrow",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collapsible",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collection",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-compose-refs",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-context",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dialog",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-direction",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dismissable-layer",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-guards",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-scope",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-id",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-navigation-menu",
"direct": false,
"version": "1.2.18",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-popover",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-popper",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-portal",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-presence",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-primitive",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-roving-focus",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-scroll-area",
"direct": false,
"version": "1.2.14",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-slot",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tabs",
"direct": false,
"version": "1.1.17",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-callback-ref",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-controllable-state",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-effect-event",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-is-hydrated",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-layout-effect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-previous",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-rect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-size",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-visually-hidden",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/rect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@reduxjs/toolkit",
"direct": false,
"version": "2.11.2",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.60.0",
"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.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"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.60.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@shikijs/core",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-javascript",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/primitive",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/twoslash",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@stablelib/base64",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@standard-schema/spec",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@standard-schema/utils",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@swc/helpers",
"direct": false,
"version": "0.5.15",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/node",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-android-arm64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-arm64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-x64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-freebsd-x64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm-gnueabihf",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-gnu",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-musl",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-gnu",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-musl",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-wasm32-wasi",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-arm64-msvc",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-x64-msvc",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/postcss",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@ts-morph/common",
"direct": false,
"version": "0.29.0",
"ecosystem": "npm"
},
{
"name": "@turf/boolean-point-in-polygon",
"direct": false,
"version": "7.3.4",
"ecosystem": "npm"
},
{
"name": "@turf/helpers",
"direct": false,
"version": "7.3.4",
"ecosystem": "npm"
},
{
"name": "@turf/invariant",
"direct": false,
"version": "7.3.4",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.2",
"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/d3-array",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-color",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-ease",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-interpolate",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-path",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-shape",
"direct": false,
"version": "3.1.8",
"ecosystem": "npm"
},
{
"name": "@types/d3-time",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-timer",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/estree-jsx",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "@types/geojson",
"direct": false,
"version": "7946.0.16",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdx",
"direct": false,
"version": "2.0.14",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "18.19.130",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.6.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/node-fetch",
"direct": false,
"version": "2.6.13",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.17",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "19.2.3",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/use-sync-external-store",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "@typescript/vfs",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@vercel/oidc",
"direct": false,
"version": "3.1.0",
"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/utils",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agentkeepalive",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "ai",
"direct": false,
"version": "6.0.138",
"ecosystem": "npm"
},
{
"name": "ai",
"direct": false,
"version": "6.0.149",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-hidden",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "astring",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.16",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "bundle-require",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001786",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "character-entities",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "character-entities-html4",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "character-entities-legacy",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "character-reference-invalid",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "class-variance-authority",
"direct": false,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "client-only",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "cnfast",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "code-block-writer",
"direct": false,
"version": "13.0.3",
"ecosystem": "npm"
},
{
"name": "collapse-white-space",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "comma-separated-tokens",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "compute-scroll-into-view",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "confbox",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "consola",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "d3-color",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-ease",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-format",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-interpolate",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "d3-time",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time-format",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "d3-timer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decimal.js-light",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "decode-named-character-reference",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "detect-node-es",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "17.4.2",
"ecosystem": "npm"
},
{
"name": "dotted-map",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "effect",
"direct": false,
"version": "4.0.0-beta.83",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.21.6",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"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-module-lexer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-toolkit",
"direct": false,
"version": "1.45.1",
"ecosystem": "npm"
},
{
"name": "esast-util-from-estree",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "esast-util-from-js",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-attach-comments",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-build-jsx",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "estree-util-is-identifier-name",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-scope",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-to-js",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-value-to-estree",
"direct": false,
"version": "3.5.0",
"ecosystem": "npm"
},
{
"name": "estree-util-visit",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "eventsource-parser",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "fast-check",
"direct": false,
"version": "4.8.0",
"ecosystem": "npm"
},
{
"name": "fast-sha256",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "find-my-way-ts",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "fix-dts-default-cjs-exports",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "form-data-encoder",
"direct": false,
"version": "1.7.2",
"ecosystem": "npm"
},
{
"name": "formdata-node",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "framer-motion",
"direct": false,
"version": "12.42.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "fumadocs-core",
"direct": false,
"version": "16.11.1",
"ecosystem": "npm"
},
{
"name": "fumadocs-mdx",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "fumadocs-twoslash",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "fumadocs-typescript",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "fumadocs-ui",
"direct": false,
"version": "16.11.1",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-nonce",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "github-slugger",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hast-util-from-parse5",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "hast-util-parse-selector",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hast-util-raw",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "hast-util-to-estree",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "hast-util-to-html",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "hast-util-to-jsx-runtime",
"direct": false,
"version": "2.3.6",
"ecosystem": "npm"
},
{
"name": "hast-util-to-parse5",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "hast-util-whitespace",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "hastscript",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "html-void-elements",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "humanize-ms",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "immer",
"direct": false,
"version": "11.1.11",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "inline-style-parser",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-alphabetical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-alphanumerical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-decimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-hexadecimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "joycon",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "json-schema",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "json-schema-to-ts",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "kubernetes-types",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.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": "load-tsconfig",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "longest-streak",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "lucide-react",
"direct": false,
"version": "1.24.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "markdown-extensions",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-table",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-find-and-replace",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-from-markdown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-autolink-literal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-strikethrough",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-table",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-task-list-item",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-expression",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-jsx",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdxjs-esm",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-phrasing",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-hast",
"direct": false,
"version": "13.2.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-markdown",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mgrs",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "micromark",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-core-commonmark",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-autolink-literal",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-strikethrough",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-table",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-tagfilter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-task-list-item",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-expression",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-jsx",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-md",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdxjs",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdxjs-esm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-destination",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-label",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-mdx-expression",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-title",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-whitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-chunked",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-classify-character",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-combine-extensions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-numeric-character-reference",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-string",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-events-to-acorn",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-util-html-tag-name",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-normalize-identifier",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-resolve-all",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-subtokenize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "mlly",
"direct": false,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "motion",
"direct": false,
"version": "12.42.2",
"ecosystem": "npm"
},
{
"name": "motion-dom",
"direct": false,
"version": "12.42.2",
"ecosystem": "npm"
},
{
"name": "motion-utils",
"direct": false,
"version": "12.39.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "msgpackr",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "msgpackr-extract",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "multipasta",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.12",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.15",
"ecosystem": "npm"
},
{
"name": "next",
"direct": false,
"version": "16.2.10",
"ecosystem": "npm"
},
{
"name": "next-themes",
"direct": false,
"version": "0.4.6",
"ecosystem": "npm"
},
{
"name": "node-domexception",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-gyp-build-optional-packages",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "oniguruma-parser",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "oniguruma-to-es",
"direct": false,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "openai",
"direct": false,
"version": "4.104.0",
"ecosystem": "npm"
},
{
"name": "openai",
"direct": false,
"version": "6.33.0",
"ecosystem": "npm"
},
{
"name": "parse-entities",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkg-types",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "point-in-polygon-hao",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.16",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "proj4",
"direct": false,
"version": "2.20.8",
"ecosystem": "npm"
},
{
"name": "property-information",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "8.4.1",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "19.2.7",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "19.2.5",
"ecosystem": "npm"
},
{
"name": "react-redux",
"direct": false,
"version": "9.2.0",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll-bar",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "react-style-singleton",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "recharts",
"direct": false,
"version": "3.9.2",
"ecosystem": "npm"
},
{
"name": "recma-build-jsx",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "recma-jsx",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "recma-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "recma-stringify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "redux",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "redux-thunk",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "regex-recursion",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "regex-utilities",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "rehype-raw",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "rehype-recma",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "remark",
"direct": false,
"version": "15.0.1",
"ecosystem": "npm"
},
{
"name": "remark-gfm",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "remark-mdx",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "remark-parse",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "remark-rehype",
"direct": false,
"version": "11.1.2",
"ecosystem": "npm"
},
{
"name": "remark-stringify",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "reselect",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "robust-predicates",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.60.0",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "scroll-into-view-if-needed",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"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": "shiki",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "space-separated-tokens",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "standardwebhooks",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "stringify-entities",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "style-to-js",
"direct": false,
"version": "1.1.21",
"ecosystem": "npm"
},
{
"name": "style-to-object",
"direct": false,
"version": "1.0.14",
"ecosystem": "npm"
},
{
"name": "styled-jsx",
"direct": false,
"version": "5.1.6",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "tailwind-merge",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tiny-invariant",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.1.1",
"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": "toml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "trim-lines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "trough",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-algebra",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "ts-morph",
"direct": false,
"version": "28.0.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsup",
"direct": false,
"version": "8.5.1",
"ecosystem": "npm"
},
{
"name": "twoslash",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "twoslash-protocol",
"direct": false,
"version": "0.3.9",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.3",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "5.26.5",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.19.2",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-position-from-estree",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-remove-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-stringify-position",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit-parents",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "use-callback-ref",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "use-sidecar",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "14.0.1",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-location",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "victory-vendor",
"direct": false,
"version": "37.3.6",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "8.1.4",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "web-namespaces",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "web-streams-polyfill",
"direct": false,
"version": "4.0.0-beta.3",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "wkt-parser",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "accelerate",
"direct": false,
"version": "1.12.0",
"ecosystem": "pypi"
},
{
"name": "agno",
"direct": false,
"version": "2.6.6",
"ecosystem": "pypi"
},
{
"name": "aiohappyeyeballs",
"direct": false,
"version": "2.6.1",
"ecosystem": "pypi"
},
{
"name": "aiohttp",
"direct": false,
"version": "3.14.1",
"ecosystem": "pypi"
},
{
"name": "aiosignal",
"direct": false,
"version": "1.4.0",
"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": "anthropic",
"direct": false,
"version": "0.76.0",
"ecosystem": "pypi"
},
{
"name": "antlr4-python3-runtime",
"direct": false,
"version": "4.9.3",
"ecosystem": "pypi"
},
{
"name": "any-llm-sdk",
"direct": false,
"version": "1.12.1",
"ecosystem": "pypi"
},
{
"name": "anyio",
"direct": false,
"version": "4.12.1",
"ecosystem": "pypi"
},
{
"name": "appdirs",
"direct": false,
"version": "1.4.4",
"ecosystem": "pypi"
},
{
"name": "async-timeout",
"direct": false,
"version": "5.0.1",
"ecosystem": "pypi"
},
{
"name": "attrs",
"direct": false,
"version": "25.4.0",
"ecosystem": "pypi"
},
{
"name": "autogen-agentchat",
"direct": false,
"version": "0.7.5",
"ecosystem": "pypi"
},
{
"name": "autogen-core",
"direct": false,
"version": "0.7.5",
"ecosystem": "pypi"
},
{
"name": "awscrt",
"direct": false,
"version": "0.29.2",
"ecosystem": "pypi"
},
{
"name": "babel",
"direct": false,
"version": "2.17.0",
"ecosystem": "pypi"
},
{
"name": "backoff",
"direct": false,
"version": "2.2.1",
"ecosystem": "pypi"
},
{
"name": "backports-asyncio-runner",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "bcrypt",
"direct": false,
"version": "5.0.0",
"ecosystem": "pypi"
},
{
"name": "boto3",
"direct": false,
"version": "1.42.38",
"ecosystem": "pypi"
},
{
"name": "botocore",
"direct": false,
"version": "1.42.38",
"ecosystem": "pypi"
},
{
"name": "build",
"direct": false,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": "2026.1.4",
"ecosystem": "pypi"
},
{
"name": "cffi",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "cfgv",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": "3.4.4",
"ecosystem": "pypi"
},
{
"name": "chromadb",
"direct": false,
"version": "1.1.1",
"ecosystem": "pypi"
},
{
"name": "colorama",
"direct": false,
"version": "0.4.6",
"ecosystem": "pypi"
},
{
"name": "coloredlogs",
"direct": false,
"version": "15.0.1",
"ecosystem": "pypi"
},
{
"name": "colorlog",
"direct": false,
"version": "6.10.1",
"ecosystem": "pypi"
},
{
"name": "courlan",
"direct": false,
"version": "1.3.2",
"ecosystem": "pypi"
},
{
"name": "coverage",
"direct": false,
"version": "7.13.2",
"ecosystem": "pypi"
},
{
"name": "crewai",
"direct": false,
"version": "1.6.1",
"ecosystem": "pypi"
},
{
"name": "cryptography",
"direct": false,
"version": "48.0.1",
"ecosystem": "pypi"
},
{
"name": "cuda-bindings",
"direct": false,
"version": "13.3.1",
"ecosystem": "pypi"
},
{
"name": "cuda-pathfinder",
"direct": false,
"version": "1.5.5",
"ecosystem": "pypi"
},
{
"name": "cuda-toolkit",
"direct": false,
"version": "13.0.3.0",
"ecosystem": "pypi"
},
{
"name": "datasets",
"direct": false,
"version": "4.5.0",
"ecosystem": "pypi"
},
{
"name": "dateparser",
"direct": false,
"version": "1.2.2",
"ecosystem": "pypi"
},
{
"name": "dill",
"direct": false,
"version": "0.4.0",
"ecosystem": "pypi"
},
{
"name": "distlib",
"direct": false,
"version": "0.4.0",
"ecosystem": "pypi"
},
{
"name": "distro",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "docstring-parser",
"direct": false,
"version": "0.17.0",
"ecosystem": "pypi"
},
{
"name": "durationpy",
"direct": false,
"version": "0.10",
"ecosystem": "pypi"
},
{
"name": "et-xmlfile",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "exceptiongroup",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "fastapi",
"direct": false,
"version": "0.136.3",
"ecosystem": "pypi"
},
{
"name": "fastembed",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "fastuuid",
"direct": false,
"version": "0.14.0",
"ecosystem": "pypi"
},
{
"name": "filelock",
"direct": false,
"version": "3.20.3",
"ecosystem": "pypi"
},
{
"name": "flatbuffers",
"direct": false,
"version": "25.12.19",
"ecosystem": "pypi"
},
{
"name": "frozenlist",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "fsspec",
"direct": false,
"version": "2025.10.0",
"ecosystem": "pypi"
},
{
"name": "gitdb",
"direct": false,
"version": "4.0.12",
"ecosystem": "pypi"
},
{
"name": "gitpython",
"direct": false,
"version": "3.1.50",
"ecosystem": "pypi"
},
{
"name": "googleapis-common-protos",
"direct": false,
"version": "1.74.0",
"ecosystem": "pypi"
},
{
"name": "greenlet",
"direct": false,
"version": "3.4.0",
"ecosystem": "pypi"
},
{
"name": "grpcio",
"direct": false,
"version": "1.80.0",
"ecosystem": "pypi"
},
{
"name": "gunicorn",
"direct": false,
"version": "26.0.0",
"ecosystem": "pypi"
},
{
"name": "h11",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "h2",
"direct": false,
"version": "4.3.0",
"ecosystem": "pypi"
},
{
"name": "headroom-ai",
"direct": false,
"version": "0.32.0",
"ecosystem": "pypi"
},
{
"name": "hf-xet",
"direct": false,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "hnswlib",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "hpack",
"direct": false,
"version": "4.1.0",
"ecosystem": "pypi"
},
{
"name": "htmldate",
"direct": false,
"version": "1.9.4",
"ecosystem": "pypi"
},
{
"name": "httpcore",
"direct": false,
"version": "1.0.9",
"ecosystem": "pypi"
},
{
"name": "httptools",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "httpx",
"direct": false,
"version": "0.28.1",
"ecosystem": "pypi"
},
{
"name": "httpx-sse",
"direct": false,
"version": "0.4.3",
"ecosystem": "pypi"
},
{
"name": "huggingface-hub",
"direct": false,
"version": "1.16.1",
"ecosystem": "pypi"
},
{
"name": "humanfriendly",
"direct": false,
"version": "10.0",
"ecosystem": "pypi"
},
{
"name": "hyperframe",
"direct": false,
"version": "6.1.0",
"ecosystem": "pypi"
},
{
"name": "identify",
"direct": false,
"version": "2.6.16",
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": false,
"version": "3.15",
"ecosystem": "pypi"
},
{
"name": "importlib-metadata",
"direct": false,
"version": "8.7.1",
"ecosystem": "pypi"
},
{
"name": "importlib-resources",
"direct": false,
"version": "7.1.0",
"ecosystem": "pypi"
},
{
"name": "iniconfig",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "instructor",
"direct": false,
"version": "1.15.4",
"ecosystem": "pypi"
},
{
"name": "jinja2",
"direct": false,
"version": "3.1.6",
"ecosystem": "pypi"
},
{
"name": "jiter",
"direct": false,
"version": "0.12.0",
"ecosystem": "pypi"
},
{
"name": "jmespath",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "joblib",
"direct": false,
"version": "1.5.3",
"ecosystem": "pypi"
},
{
"name": "json-repair",
"direct": false,
"version": "0.25.2",
"ecosystem": "pypi"
},
{
"name": "json5",
"direct": false,
"version": "0.15.0",
"ecosystem": "pypi"
},
{
"name": "jsonpatch",
"direct": false,
"version": "1.33",
"ecosystem": "pypi"
},
{
"name": "jsonpointer",
"direct": false,
"version": "3.0.0",
"ecosystem": "pypi"
},
{
"name": "jsonref",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema",
"direct": false,
"version": "4.26.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema-specifications",
"direct": false,
"version": "2025.9.1",
"ecosystem": "pypi"
},
{
"name": "justext",
"direct": false,
"version": "3.0.2",
"ecosystem": "pypi"
},
{
"name": "kubernetes",
"direct": false,
"version": "36.0.3",
"ecosystem": "pypi"
},
{
"name": "langchain-core",
"direct": false,
"version": "1.4.2",
"ecosystem": "pypi"
},
{
"name": "langchain-ollama",
"direct": false,
"version": "1.0.1",
"ecosystem": "pypi"
},
{
"name": "langchain-openai",
"direct": false,
"version": "1.2.2",
"ecosystem": "pypi"
},
{
"name": "langchain-protocol",
"direct": false,
"version": "0.0.16",
"ecosystem": "pypi"
},
{
"name": "langsmith",
"direct": false,
"version": "0.9.3",
"ecosystem": "pypi"
},
{
"name": "librt",
"direct": false,
"version": "0.7.8",
"ecosystem": "pypi"
},
{
"name": "loguru",
"direct": false,
"version": "0.7.3",
"ecosystem": "pypi"
},
{
"name": "lxml",
"direct": false,
"version": "6.1.1",
"ecosystem": "pypi"
},
{
"name": "lxml-html-clean",
"direct": false,
"version": "0.4.5",
"ecosystem": "pypi"
},
{
"name": "magika",
"direct": false,
"version": "0.6.2",
"ecosystem": "pypi"
},
{
"name": "markdown-it-py",
"direct": false,
"version": "4.0.0",
"ecosystem": "pypi"
},
{
"name": "markupsafe",
"direct": false,
"version": "3.0.3",
"ecosystem": "pypi"
},
{
"name": "maturin",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mcp",
"direct": false,
"version": "1.28.1",
"ecosystem": "pypi"
},
{
"name": "mdurl",
"direct": false,
"version": "0.1.2",
"ecosystem": "pypi"
},
{
"name": "mem0ai",
"direct": false,
"version": "2.0.5",
"ecosystem": "pypi"
},
{
"name": "mmh3",
"direct": false,
"version": "5.2.1",
"ecosystem": "pypi"
},
{
"name": "mpmath",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "multidict",
"direct": false,
"version": "6.7.1",
"ecosystem": "pypi"
},
{
"name": "multiprocess",
"direct": false,
"version": "0.70.18",
"ecosystem": "pypi"
},
{
"name": "mypy",
"direct": false,
"version": "1.19.1",
"ecosystem": "pypi"
},
{
"name": "mypy-extensions",
"direct": false,
"version": "1.1.0",
"ecosystem": "pypi"
},
{
"name": "neo4j",
"direct": false,
"version": "6.1.0",
"ecosystem": "pypi"
},
{
"name": "networkx",
"direct": false,
"version": "3.4.2",
"ecosystem": "pypi"
},
{
"name": "networkx",
"direct": false,
"version": "3.6.1",
"ecosystem": "pypi"
},
{
"name": "nodeenv",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": false,
"version": "2.2.6",
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": false,
"version": "2.4.1",
"ecosystem": "pypi"
},
{
"name": "nvidia-cublas",
"direct": false,
"version": "13.1.1.3",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-cupti",
"direct": false,
"version": "13.0.85",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-nvrtc",
"direct": false,
"version": "13.0.88",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-runtime",
"direct": false,
"version": "13.0.96",
"ecosystem": "pypi"
},
{
"name": "nvidia-cudnn-cu13",
"direct": false,
"version": "9.20.0.48",
"ecosystem": "pypi"
},
{
"name": "nvidia-cufft",
"direct": false,
"version": "12.0.0.61",
"ecosystem": "pypi"
},
{
"name": "nvidia-cufile",
"direct": false,
"version": "1.15.1.6",
"ecosystem": "pypi"
},
{
"name": "nvidia-curand",
"direct": false,
"version": "10.4.0.35",
"ecosystem": "pypi"
},
{
"name": "nvidia-cusolver",
"direct": false,
"version": "12.0.4.66",
"ecosystem": "pypi"
},
{
"name": "nvidia-cusparse",
"direct": false,
"version": "12.6.3.3",
"ecosystem": "pypi"
},
{
"name": "nvidia-cusparselt-cu13",
"direct": false,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "nvidia-nccl-cu13",
"direct": false,
"version": "2.29.7",
"ecosystem": "pypi"
},
{
"name": "nvidia-nvjitlink",
"direct": false,
"version": "13.0.88",
"ecosystem": "pypi"
},
{
"name": "nvidia-nvshmem-cu13",
"direct": false,
"version": "3.4.5",
"ecosystem": "pypi"
},
{
"name": "nvidia-nvtx",
"direct": false,
"version": "13.0.85",
"ecosystem": "pypi"
},
{
"name": "oauthlib",
"direct": false,
"version": "3.3.1",
"ecosystem": "pypi"
},
{
"name": "ollama",
"direct": false,
"version": "0.6.1",
"ecosystem": "pypi"
},
{
"name": "omegaconf",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "onnxruntime",
"direct": false,
"version": "1.23.2",
"ecosystem": "pypi"
},
{
"name": "onnxruntime",
"direct": false,
"version": "1.26.0",
"ecosystem": "pypi"
},
{
"name": "openai",
"direct": false,
"version": "2.41.0",
"ecosystem": "pypi"
},
{
"name": "opencv-python",
"direct": false,
"version": "4.13.0.92",
"ecosystem": "pypi"
},
{
"name": "openpyxl",
"direct": false,
"version": "3.1.5",
"ecosystem": "pypi"
},
{
"name": "openresponses-types",
"direct": false,
"version": "2.3.0.post1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-common",
"direct": false,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-grpc",
"direct": false,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-http",
"direct": false,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-instrumentation",
"direct": false,
"version": "0.60b1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-instrumentation-threading",
"direct": false,
"version": "0.60b1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-proto",
"direct": false,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-sdk",
"direct": false,
"version": "1.39.1",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-semantic-conventions",
"direct": false,
"version": "0.60b1",
"ecosystem": "pypi"
},
{
"name": "orjson",
"direct": false,
"version": "3.11.6",
"ecosystem": "pypi"
},
{
"name": "overrides",
"direct": false,
"version": "7.7.0",
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "25.0",
"ecosystem": "pypi"
},
{
"name": "pandas",
"direct": false,
"version": "2.3.3",
"ecosystem": "pypi"
},
{
"name": "pandas",
"direct": false,
"version": "3.0.0",
"ecosystem": "pypi"
},
{
"name": "pathspec",
"direct": false,
"version": "1.0.4",
"ecosystem": "pypi"
},
{
"name": "pdfminer-six",
"direct": false,
"version": "20260107",
"ecosystem": "pypi"
},
{
"name": "pdfplumber",
"direct": false,
"version": "0.11.10",
"ecosystem": "pypi"
},
{
"name": "pillow",
"direct": false,
"version": "12.3.0",
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": false,
"version": "4.5.1",
"ecosystem": "pypi"
},
{
"name": "pluggy",
"direct": false,
"version": "1.6.0",
"ecosystem": "pypi"
},
{
"name": "portalocker",
"direct": false,
"version": "2.7.0",
"ecosystem": "pypi"
},
{
"name": "posthog",
"direct": false,
"version": "5.4.0",
"ecosystem": "pypi"
},
{
"name": "pre-commit",
"direct": false,
"version": "4.5.1",
"ecosystem": "pypi"
},
{
"name": "propcache",
"direct": false,
"version": "0.4.1",
"ecosystem": "pypi"
},
{
"name": "protobuf",
"direct": false,
"version": "5.29.6",
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": false,
"version": "7.2.1",
"ecosystem": "pypi"
},
{
"name": "py-rust-stemmers",
"direct": false,
"version": "0.1.5",
"ecosystem": "pypi"
},
{
"name": "pyarrow",
"direct": false,
"version": "23.0.1",
"ecosystem": "pypi"
},
{
"name": "pybase64",
"direct": false,
"version": "1.4.3",
"ecosystem": "pypi"
},
{
"name": "pyclipper",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "pycparser",
"direct": false,
"version": "3.0",
"ecosystem": "pypi"
},
{
"name": "pydantic-core",
"direct": false,
"version": "2.41.5",
"ecosystem": "pypi"
},
{
"name": "pydantic-settings",
"direct": false,
"version": "2.14.2",
"ecosystem": "pypi"
},
{
"name": "pygments",
"direct": false,
"version": "2.20.0",
"ecosystem": "pypi"
},
{
"name": "pyjwt",
"direct": false,
"version": "2.13.0",
"ecosystem": "pypi"
},
{
"name": "pypdfium2",
"direct": false,
"version": "5.12.0",
"ecosystem": "pypi"
},
{
"name": "pypika",
"direct": false,
"version": "0.51.1",
"ecosystem": "pypi"
},
{
"name": "pyproject-hooks",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "pyreadline3",
"direct": false,
"version": "3.5.4",
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": "9.0.3",
"ecosystem": "pypi"
},
{
"name": "pytest-asyncio",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": "7.0.0",
"ecosystem": "pypi"
},
{
"name": "python-dateutil",
"direct": false,
"version": "2.9.0.post0",
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": false,
"version": "1.2.2",
"ecosystem": "pypi"
},
{
"name": "python-multipart",
"direct": false,
"version": "0.0.31",
"ecosystem": "pypi"
},
{
"name": "pytz",
"direct": false,
"version": "2025.2",
"ecosystem": "pypi"
},
{
"name": "pywin32",
"direct": false,
"version": "311",
"ecosystem": "pypi"
},
{
"name": "qdrant-client",
"direct": false,
"version": "1.17.1",
"ecosystem": "pypi"
},
{
"name": "rapidocr",
"direct": false,
"version": "3.8.1",
"ecosystem": "pypi"
},
{
"name": "rapidocr-onnxruntime",
"direct": false,
"version": "1.4.4",
"ecosystem": "pypi"
},
{
"name": "referencing",
"direct": false,
"version": "0.37.0",
"ecosystem": "pypi"
},
{
"name": "regex",
"direct": false,
"version": "2026.1.15",
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": "2.33.0",
"ecosystem": "pypi"
},
{
"name": "requests-oauthlib",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "requests-toolbelt",
"direct": false,
"version": "1.0.0",
"ecosystem": "pypi"
},
{
"name": "respx",
"direct": false,
"version": "0.23.1",
"ecosystem": "pypi"
},
{
"name": "rpds-py",
"direct": false,
"version": "0.30.0",
"ecosystem": "pypi"
},
{
"name": "ruff",
"direct": false,
"version": "0.15.17",
"ecosystem": "pypi"
},
{
"name": "s3transfer",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "safetensors",
"direct": false,
"version": "0.8.0",
"ecosystem": "pypi"
},
{
"name": "scikit-learn",
"direct": false,
"version": "1.7.2",
"ecosystem": "pypi"
},
{
"name": "scikit-learn",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "scipy",
"direct": false,
"version": "1.15.3",
"ecosystem": "pypi"
},
{
"name": "scipy",
"direct": false,
"version": "1.17.0",
"ecosystem": "pypi"
},
{
"name": "sentence-transformers",
"direct": false,
"version": "5.2.1",
"ecosystem": "pypi"
},
{
"name": "sentencepiece",
"direct": false,
"version": "0.2.1",
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": "83.0.0",
"ecosystem": "pypi"
},
{
"name": "shapely",
"direct": false,
"version": "2.1.2",
"ecosystem": "pypi"
},
{
"name": "shellingham",
"direct": false,
"version": "1.5.4",
"ecosystem": "pypi"
},
{
"name": "six",
"direct": false,
"version": "1.17.0",
"ecosystem": "pypi"
},
{
"name": "smmap",
"direct": false,
"version": "5.0.2",
"ecosystem": "pypi"
},
{
"name": "sniffio",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "sqlalchemy",
"direct": false,
"version": "2.0.49",
"ecosystem": "pypi"
},
{
"name": "sqlite-vec",
"direct": false,
"version": "0.1.6",
"ecosystem": "pypi"
},
{
"name": "sse-starlette",
"direct": false,
"version": "3.2.0",
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "strands-agents",
"direct": false,
"version": "1.24.0",
"ecosystem": "pypi"
},
{
"name": "sympy",
"direct": false,
"version": "1.14.0",
"ecosystem": "pypi"
},
{
"name": "tenacity",
"direct": false,
"version": "9.1.2",
"ecosystem": "pypi"
},
{
"name": "threadpoolctl",
"direct": false,
"version": "3.6.0",
"ecosystem": "pypi"
},
{
"name": "tld",
"direct": false,
"version": "0.13.1",
"ecosystem": "pypi"
},
{
"name": "tokenizers",
"direct": false,
"version": "0.22.2",
"ecosystem": "pypi"
},
{
"name": "tomli-w",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "torch",
"direct": false,
"version": "2.13.0",
"ecosystem": "pypi"
},
{
"name": "tqdm",
"direct": false,
"version": "4.67.1",
"ecosystem": "pypi"
},
{
"name": "trafilatura",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "transformers",
"direct": false,
"version": "5.13.1",
"ecosystem": "pypi"
},
{
"name": "tree-sitter",
"direct": false,
"version": "0.25.2",
"ecosystem": "pypi"
},
{
"name": "tree-sitter-c-sharp",
"direct": false,
"version": "0.23.1",
"ecosystem": "pypi"
},
{
"name": "tree-sitter-embedded-template",
"direct": false,
"version": "0.25.0",
"ecosystem": "pypi"
},
{
"name": "tree-sitter-language-pack",
"direct": false,
"version": "0.13.0",
"ecosystem": "pypi"
},
{
"name": "tree-sitter-yaml",
"direct": false,
"version": "0.7.2",
"ecosystem": "pypi"
},
{
"name": "triton",
"direct": false,
"version": "3.7.1",
"ecosystem": "pypi"
},
{
"name": "typer",
"direct": false,
"version": "0.21.1",
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": false,
"version": "4.15.0",
"ecosystem": "pypi"
},
{
"name": "typing-inspection",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "tzdata",
"direct": false,
"version": "2025.3",
"ecosystem": "pypi"
},
{
"name": "tzlocal",
"direct": false,
"version": "5.3.1",
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": false,
"version": "2.7.0",
"ecosystem": "pypi"
},
{
"name": "uuid-utils",
"direct": false,
"version": "0.14.0",
"ecosystem": "pypi"
},
{
"name": "uv",
"direct": false,
"version": "0.11.29",
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": false,
"version": "0.40.0",
"ecosystem": "pypi"
},
{
"name": "uvloop",
"direct": false,
"version": "0.22.1",
"ecosystem": "pypi"
},
{
"name": "virtualenv",
"direct": false,
"version": "20.36.1",
"ecosystem": "pypi"
},
{
"name": "watchdog",
"direct": false,
"version": "6.0.0",
"ecosystem": "pypi"
},
{
"name": "watchfiles",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "websocket-client",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "websockets",
"direct": false,
"version": "16.0",
"ecosystem": "pypi"
},
{
"name": "win32-setctime",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "wrapt",
"direct": false,
"version": "1.17.3",
"ecosystem": "pypi"
},
{
"name": "xlrd",
"direct": false,
"version": "2.0.2",
"ecosystem": "pypi"
},
{
"name": "xxhash",
"direct": false,
"version": "3.6.0",
"ecosystem": "pypi"
},
{
"name": "yarl",
"direct": false,
"version": "1.22.0",
"ecosystem": "pypi"
},
{
"name": "zipp",
"direct": false,
"version": "3.23.0",
"ecosystem": "pypi"
},
{
"name": "zstandard",
"direct": false,
"version": "0.25.0",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 1494,
"direct_count": 110,
"indirect_count": 1384
}
},
"maintainership": {
"issues": {
"open_prs": 233,
"merged_prs": 1151,
"open_issues": 255,
"closed_ratio": 0.655,
"closed_issues": 484,
"closed_unmerged_prs": 256
},
"bus_factor": 2,
"bot_contributors": 3,
"top_contributors": [
{
"type": "User",
"login": "chopratejas",
"commits": 1058,
"avatar_url": "https://avatars.githubusercontent.com/u/3607994?v=4"
},
{
"type": "User",
"login": "JerrettDavis",
"commits": 328,
"avatar_url": "https://avatars.githubusercontent.com/u/2610199?v=4"
},
{
"type": "User",
"login": "gglucass",
"commits": 87,
"avatar_url": "https://avatars.githubusercontent.com/u/1226415?v=4"
},
{
"type": "User",
"login": "abhay-codes07",
"commits": 82,
"avatar_url": "https://avatars.githubusercontent.com/u/182421137?v=4"
},
{
"type": "User",
"login": "rodboev",
"commits": 78,
"avatar_url": "https://avatars.githubusercontent.com/u/106971?v=4"
},
{
"type": "User",
"login": "adryanev",
"commits": 35,
"avatar_url": "https://avatars.githubusercontent.com/u/16153240?v=4"
},
{
"type": "User",
"login": "Parideboy",
"commits": 34,
"avatar_url": "https://avatars.githubusercontent.com/u/8842736?v=4"
},
{
"type": "User",
"login": "MrAshRhodes",
"commits": 30,
"avatar_url": "https://avatars.githubusercontent.com/u/70747559?v=4"
},
{
"type": "User",
"login": "agaonker",
"commits": 22,
"avatar_url": "https://avatars.githubusercontent.com/u/1332671?v=4"
},
{
"type": "User",
"login": "DevanshiVyas",
"commits": 20,
"avatar_url": "https://avatars.githubusercontent.com/u/14220503?v=4"
}
],
"contributors_sampled": 97,
"top_contributor_share": 0.493
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"changelog-guard.yml",
"ci.yml",
"devcontainers.yml",
"docker.yml",
"docs.yml",
"eval.yml",
"init-e2e.yml",
"init-native-e2e.yml",
"install-native-e2e.yml",
"merge-conflicts.yml",
"network-diff-capture.yml",
"opencode-plugin.yml",
"pr-health.yml",
"publish.yml",
"release-please.yml",
"release.yml",
"rust.yml",
"security.yml",
"stale.yml",
"wrap-e2e.yml",
"wrap-native-e2e.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"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": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "30 out of 30 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": 7,
"reason": "Found 21/30 approved changesets -- score normalized to 7",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 21 contributing companies or organizations",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 0,
"reason": "dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 4 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": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 9,
"reason": "SAST tool detected but not run on all commits",
"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": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "32 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "1329ed7f1a8d7a018042ecbe41804b0be971792e",
"ran_at": "2026-07-21T16:00:56Z",
"aggregate_score": 4.7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/headroomlabs-ai/headroom",
"host": "github.com",
"name": "headroom",
"owner": "headroomlabs-ai"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"security": 58,
"vitality": 86,
"community": 92,
"governance": 67,
"engineering": 96
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 86,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"commits_last_year": 2324,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 28
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "28/52 weeks with commits",
"points": 19.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 28
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "2324 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 2324
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 4 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": 100,
"latest_release_tag": "v0.32.0",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 4.7
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~4.7 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 4.7
}
}
],
"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": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 92,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "excellent",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 98,
"inputs": {
"forks": 4577,
"stars": 60929,
"watchers": 188,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "window_too_short"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "60,929 stars",
"points": 60,
"status": "met",
"details": [
{
"code": "stars",
"params": {
"count": 60929
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "4,577 forks",
"points": 25,
"status": "met",
"details": [
{
"code": "forks",
"params": {
"count": 4577
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "188 watchers",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 188
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 84,
"inputs": {
"packages": [
"headroom-ai",
"headroom-openclaw"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 115989
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "115,989 downloads/month across npm",
"points": 67.5,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 115989,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 67,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 97,
"top_contributor_share": 0.493
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 49% of commits",
"points": 11.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 49
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "97 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 97
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 21 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"merged_prs": 1151,
"open_issues": 255,
"closed_issues": 484,
"issue_closed_ratio": 0.655,
"closed_unmerged_prs": 256
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "66% of issues closed",
"points": 30.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 66
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "1151/1407 decided PRs merged",
"points": 31.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 1151,
"decided": 1407
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 21/30 approved changesets -- score normalized to 7",
"points": 10.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 49,
"inputs": {
"followers": 143,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "headroomlabs-ai",
"public_repos": 2,
"account_age_days": 34
},
"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": "143 followers of headroomlabs-ai",
"points": 15.5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 143,
"login": "headroomlabs-ai"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "2 public repos, account ~0 yr old",
"points": 3.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 2
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"packages": [
"headroom-ai",
"headroom-openclaw"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 48
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "2 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 2,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 48 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 48
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "2 published versions",
"points": 12,
"status": "partial",
"details": [
{
"code": "published_versions",
"params": {
"count": 2
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 96,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 94,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "21 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 21
}
}
],
"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": null,
"points": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"agent",
"ai",
"anthropic",
"compression",
"context-engineering",
"context-window",
"fastapi",
"langchain",
"llm",
"mcp",
"openai",
"proxy",
"python",
"rag",
"token-optimization",
"claude-code",
"cursor",
"prompt-engineering",
"tokens",
"typescript"
],
"has_wiki": true,
"homepage": "https://headroom-docs.vercel.app/docs",
"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://headroom-docs.vercel.app/docs",
"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": "moderate",
"name": "Security",
"value": 58,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": null,
"notes": [],
"value": 47,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 4.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": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "30 out of 30 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 21/30 approved changesets -- score normalized to 7",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 21 contributing companies or organizations",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "dangerous workflow patterns detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool detected but not run on all commits",
"points": 4.5,
"status": "partial",
"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": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "32 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 1446 resolved dependencies against OSV; 48 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 1446
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 48
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 6,
"affected_packages": 5,
"assessed_packages": 1446,
"unassessed_packages": 48,
"affected_by_severity": "critical 1, high 1, unknown 3",
"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": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 1446,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 7
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "excellent",
"name": "AI Readiness",
"value": 86,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"has_llms_txt": true,
"legible_history_share": 1,
"agent_instruction_files": [
".github/copilot-instructions.md"
],
"agent_instruction_max_bytes": 697
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": ".github/copilot-instructions.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".github/copilot-instructions.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": "llms.txt present",
"points": 15,
"status": "met",
"details": [
{
"code": "llms_txt_present",
"params": {}
}
],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 87,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"Cargo.lock",
"package-lock.json",
"uv.lock"
],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": true,
"has_linter_config": true,
"typecheck_configs": [
"docs/tsconfig.json",
"headroom/py.typed",
"plugins/openclaw/tsconfig.json",
"plugins/opencode/tsconfig.json",
"sdk/typescript/tsconfig.json"
],
"agent_commit_share": 0.14,
"toolchain_manifests": [
"Cargo.toml",
"crates/headroom-core/Cargo.toml",
"crates/headroom-parity/Cargo.toml",
"crates/headroom-proxy/Cargo.toml",
"crates/headroom-py/Cargo.toml",
"crates/headroom-simulators/Cargo.toml"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "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": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "docs/tsconfig.json, headroom/py.typed, plugins/openclaw/tsconfig.json, plugins/opencode/tsconfig.json, sdk/typescript/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "docs/tsconfig.json, headroom/py.typed, plugins/openclaw/tsconfig.json, plugins/opencode/tsconfig.json, sdk/typescript/tsconfig.json"
}
}
],
"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": "14 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 14,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "dependency automation configured, none observed in the sampled commits",
"points": 5,
"status": "partial",
"details": [
{
"code": "dependency_bot_config_only",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "good",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 81,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 414942,
"source_files_sampled": 1639,
"oversized_source_files": 33
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python with type-check config (docs/tsconfig.json, headroom/py.typed, plugins/openclaw/tsconfig.json, plugins/opencode/tsconfig.json, sdk/typescript/tsconfig.json)",
"points": 27,
"status": "partial",
"details": [
{
"code": "typecheck_config_language",
"params": {
"files": "docs/tsconfig.json, headroom/py.typed, plugins/openclaw/tsconfig.json, plugins/opencode/tsconfig.json, sdk/typescript/tsconfig.json",
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "33/1639 source files over 60KB",
"points": 53.9,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 1639,
"oversized": 33
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [
"examples",
"notebooks"
],
"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, notebooks",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples, notebooks"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"pypi package 'headroom-ai' points at a different repository (https://github.com/chopratejas/headroom); excluded from ecosystem scoring",
"Could not fetch crates package 'headroom-py' from its registry",
"Could not fetch npm package 'headroom-opencode' from its registry",
"Could not fetch crates package 'headroom-core' from its registry",
"Could not fetch crates package 'headroom-proxy' from its registry",
"Could not fetch crates package 'headroom-parity' from its registry",
"Could not fetch crates package 'headroom-simulators' from its registry",
"deps.dev does not index pypi:headroom-ai@0.32.1; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-21T16:01:30.357790Z",
"schema_version": "0.23.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/headroomlabs-ai/headroom.svg",
"full_name": "headroomlabs-ai/headroom",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}