JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"ai",
"caching",
"claude",
"compression",
"llm",
"mcp",
"mcp-server",
"token-optimization",
"gemini-cli-extension"
],
"is_fork": false,
"size_kb": 4584,
"has_wiki": true,
"homepage": null,
"languages": {
"CSS": 7631,
"HTML": 4867,
"Shell": 22753,
"Python": 6909,
"JavaScript": 148672,
"PowerShell": 178925,
"TypeScript": 3118288
},
"pushed_at": "2026-07-29T15:57:33Z",
"created_at": "2025-10-11T14:53:02Z",
"owner_type": "User",
"updated_at": "2026-07-29T17:44:46Z",
"description": "Intelligent token optimization for Claude Code - achieving 95%+ token reduction through caching, compression, and smart tool intelligence",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "https://github.com/ooples/OoplesFinance.StockIndicators",
"name": "Franklin Moormann",
"type": "User",
"login": "ooples",
"company": "Ooples Finance",
"location": "Vermont",
"followers": 112,
"avatar_url": "https://avatars.githubusercontent.com/u/3075685?v=4",
"created_at": "2012-12-18T21:56:42Z",
"is_verified": null,
"public_repos": 34,
"account_age_days": 4970
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v5.2.0",
"kind": "minor",
"published_at": "2026-07-21T12:51:28Z"
},
{
"tag": "v5.1.3",
"kind": "patch",
"published_at": "2026-07-21T03:12:04Z"
},
{
"tag": "v5.1.2",
"kind": "patch",
"published_at": "2026-07-20T13:03:21Z"
},
{
"tag": "v5.1.1",
"kind": "patch",
"published_at": "2026-07-20T05:23:37Z"
},
{
"tag": "v5.1.0",
"kind": "minor",
"published_at": "2026-07-20T05:08:55Z"
},
{
"tag": "v5.0.1",
"kind": "patch",
"published_at": "2025-11-02T16:28:01Z"
},
{
"tag": "v5.0.0",
"kind": "major",
"published_at": "2025-11-01T17:52:08Z"
},
{
"tag": "v4.2.0",
"kind": "minor",
"published_at": "2025-11-01T17:39:34Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2025-11-01T05:52:00Z"
},
{
"tag": "v4.0.1",
"kind": "patch",
"published_at": "2025-10-31T17:48:07Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2025-10-31T12:13:12Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2025-10-31T03:34:07Z"
},
{
"tag": "v3.0.4",
"kind": "patch",
"published_at": "2025-10-31T03:22:08Z"
},
{
"tag": "v3.0.3",
"kind": "patch",
"published_at": "2025-10-31T01:33:42Z"
},
{
"tag": "v3.0.2",
"kind": "patch",
"published_at": "2025-10-30T19:20:19Z"
},
{
"tag": "v3.0.1",
"kind": "patch",
"published_at": "2025-10-30T12:39:08Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2025-10-30T04:45:03Z"
},
{
"tag": "v2.19.1",
"kind": "patch",
"published_at": "2025-10-30T04:35:50Z"
},
{
"tag": "v2.19.0",
"kind": "minor",
"published_at": "2025-10-30T02:58:05Z"
},
{
"tag": "v2.18.0",
"kind": "minor",
"published_at": "2025-10-30T02:50:06Z"
},
{
"tag": "v2.17.0",
"kind": "minor",
"published_at": "2025-10-28T13:16:34Z"
},
{
"tag": "v2.16.0",
"kind": "minor",
"published_at": "2025-10-28T13:14:40Z"
},
{
"tag": "v2.15.2",
"kind": "patch",
"published_at": "2025-10-28T12:50:54Z"
},
{
"tag": "v2.12.1",
"kind": "patch",
"published_at": "2025-10-25T03:56:56Z"
},
{
"tag": "v2.15.1",
"kind": "patch",
"published_at": "2025-10-28T00:30:46Z"
},
{
"tag": "v2.15.0",
"kind": "minor",
"published_at": "2025-10-27T01:25:03Z"
},
{
"tag": "v2.14.0",
"kind": "minor",
"published_at": "2025-10-25T17:44:05Z"
},
{
"tag": "v2.13.0",
"kind": "minor",
"published_at": "2025-10-25T17:33:50Z"
},
{
"tag": "v2.12.2",
"kind": "patch",
"published_at": "2025-10-25T13:43:51Z"
},
{
"tag": "v2.2.5",
"kind": "patch",
"published_at": "2025-10-23T02:49:45Z"
},
{
"tag": "v2.2.3",
"kind": "patch",
"published_at": "2025-10-20T12:38:54Z"
},
{
"tag": "v2.2.2",
"kind": "patch",
"published_at": "2025-10-20T04:56:07Z"
},
{
"tag": "v2.2.1",
"kind": "patch",
"published_at": "2025-10-20T04:02:13Z"
},
{
"tag": "v2.2.0",
"kind": "minor",
"published_at": "2025-10-20T03:36:47Z"
},
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2025-10-20T01:47:21Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2025-10-20T00:53:17Z"
}
],
"recent_commits": [
{
"oid": "242b49baa1a6b25c255e377f323add0c9504a070",
"body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.2 to 3.1.4.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.2...v3.1.4)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n dependency-version: 3.1.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump fast-uri from 3.1.2 to 3.1.4 (#200)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-29T15:56:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccbe44a77366848f73230462659deedc0e4005c8",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.26 to 4.12.31.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.26...v4.12.31)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.31\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump hono from 4.12.26 to 4.12.31 (#199)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-29T15:56:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "623ffba890feae2775afe661e1c94811740804c4",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(master): release 5.2.0 (#198)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-21T12:51:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac354921de8faeb42e9d00014d0b1328dfc98148",
"body": "Co-authored-by: franklinic <franklin@ivorycloud.com>",
"is_bot": false,
"headline": "feat: add native optimization hooks across cli tools (#197)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-21T04:17:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1093164abc788a12003cfac918e47c46e0e58df3",
"body": "Bumps [tar](https://github.com/isaacs/node-tar) to 7.5.19 and updates ancestor dependency [npm](https://github.com/npm/cli). These dependencies need to be updated together.\n\n\nUpdates `tar` from 7.5.16 to 7.5.19\n- [Release notes](https://github.com/isaacs/node-tar/releases)\n- [Changelog](https://gith\n[…]\nency-version: 11.18.0\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump tar and npm (#196)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-21T04:16:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4ce177cdf2351d5b4dd6d0c685fcbc495735dfa7",
"body": "Bumps [body-parser](https://github.com/expressjs/body-parser) from 2.2.1 to 2.3.0.\n- [Release notes](https://github.com/expressjs/body-parser/releases)\n- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)\n- [Commits](https://github.com/expressjs/body-parser/compare/v2.2.1..\n[…]\nser\n dependency-version: 2.3.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump body-parser from 2.2.1 to 2.3.0 (#195)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-21T04:16:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1f7592142d7b590455202a62e95c12f776c5179e",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(master): release 5.1.3 (#193)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-21T03:11:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab89d8f9826145b996a49dc9a81ecebe446471ac",
"body": "* docs: add mcp install guides and savings visuals\n\n* docs: restore complete readme reference\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>",
"is_bot": false,
"headline": "docs: expand MCP setup and restore README reference (#194)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-21T03:11:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "093e6eab22fd0ae38449d25523b1d8286bd553ae",
"body": "Required by the awesome-codex-plugins community directory: the plugin repo must\nrun hashgraph-online/ai-plugin-scanner-action in CI and score >= 80/130 with no\nhigh-severity findings. Scans the Codex plugin bundle (integrations/codex/plugin).\nThird-party action pinned to commit 8f0a503 (v1). Skipped on release-please PRs.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: add HOL plugin scanner for awesome-codex-plugins listing (#192)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T15:13:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9a581416cb728df3fc0e17162c69e296decf00a0",
"body": "…ing (#191)\n\nThe `.mcp.json` gitignore rule (added during the credential cleanup) was\nunanchored, so it silently ignored EVERY .mcp.json — including the Claude Code\nplugin's plugin/.mcp.json, which therefore never got committed. The Claude\nplugin on master was missing its MCP server declaration. Anc\n[…]\n marketplace add .` + `codex plugin list` shows\ntoken-optimizer@token-optimizer available.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(plugins): track plugin .mcp.json + add native Codex plugin packag…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T15:04:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ba7a5fcabc0d5e2d662372d3cae1840f1b5e8ba9",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(master): release 5.1.2 (#189)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-20T12:08:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84dc70ddcc43f2b965653792b008bcdc131cc2b8",
"body": "Keep server.json in sync with the published npm version (5.1.1) and the live\nMCP Registry entry (io.github.ooples/token-optimizer-mcp@5.1.1, re-published).\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(registry): bump MCP Registry manifest to 5.1.1 (#190)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T12:05:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4b415ea73a4fca4ebde391ba8e05a42390b49af0",
"body": "CacheEngine could fail to construct with \"Failed to initialize persistent cache\ndatabase after 3 attempts\" when the SQLite file was invalid (SQLITE_NOTADB) —\ne.g. a partially-written file, a crash mid-write, or a stray non-DB file at the\ncache path. The recovery (delete + recreate) only ran on attem\n[…]\nM) at the cache path\nand asserts CacheEngine constructs and works. Full suite: 674 passed.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(cache): self-heal from a corrupt database file on every retry (#188)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T05:48:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "687b55460d752fa4ee011c58535c733191b831c8",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(master): release 5.1.1 (#187)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-20T05:21:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6874f62fb58c0ccb44518b1fa4eb8df700276567",
"body": "prepublishOnly ran `npm run clean && npm run build && npm test`, so `npm publish`\nre-executed the entire Jest suite. In the publish job's environment that suite\nfailed en masse on CacheEngine SQLite init (SQLITE_NOTADB) — even though the same\ntests pass in CI — which blocked publishing v5.1.0 after \n[…]\nhOnly now just does a\nclean build; publish ships the CI-validated, freshly built artifact.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(release): drop the redundant full test rerun from npm publish (#186)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T05:20:02Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "94815a16e3322101694e97561fc1dc8b5af904dc",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(master): release 5.1.0 (#184)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-20T05:08:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4f7e73df992681d1456e59c5f60d6e2531ec8e6",
"body": "release-please PRs only bump version + CHANGELOG from changes that already\npassed the full suite in the PRs that were merged, so re-running CI/quality/\ncommitlint on them is pure duplicated compute (the AiDotNet behavior).\n\nGuard every PR-triggered job with `if: !startsWith(github.head_ref,\n'release\n[…]\nrt failures.\n\nRegular PRs and pushes to master are unaffected (head_ref is empty on push).\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: skip redundant checks on release-please PRs (#185)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T05:08:17Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "46375901ca6b357c01f28e254f2d43219d7b82ef",
"body": "* fix(release): recognize existing vX.Y.Z tags via include-component-in-tag\n\nrelease-please defaulted to a package-name tag component (token-optimizer-mcp-vX),\nso it did not match the existing `v5.0.1` tags, treated the repo as having no\nprior release, walked all 626 commits, and proposed a 6.0.0 ma\n[…]\nin docs/RELEASING.md).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(release): recognize existing vX.Y.Z tags in release-please (#183)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T04:40:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "22462c7d613b874e79fd433aecdeba4cae4052f0",
"body": "* ci(release): migrate to release-please with oidc npm publishing\n\nReplace the semantic-release pipeline (which had been failing) with\nrelease-please + an OIDC-first npm publish job.\n\n- release-please-config.json + .release-please-manifest.json (baseline 5.0.1,\n the last published version) drive ve\n[…]\nied\n5/5 green locally.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci(release): migrate to release-please with oidc npm publishing (#182)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T04:20:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a694fc1ac5da917f24ef54579d50f59919fccad0",
"body": "…ntegrations (#180)\n\n* style(analytics): format record-tool-analytics with prettier\n\nThe file failed CI `prettier --check` (line-length wrap on SAVED_KEYS and a\ncast-precedence paren). Formatting it fixes the \"Lint and Format Check\" job,\nwhich had also been cascading into the Codex Auto-Fix workflow\n[…]\ne for every ecosystem.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(packaging): claude code plugin + gemini/codex/opencode/copilot i…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T03:45:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2b2622738adf664e4c3d4d5a2e608d723a6bc040",
"body": "…ort (#181)\n\nThe analytics breakdown tools (get_hook_analytics / get_action_analytics /\nget_mcp_server_analytics / export_analytics) were wired into the server but\nAnalyticsManager.track() was never called anywhere, so every breakdown always\nreturned zeros. This adds the missing writer path and a us\n[…]\nwn (e.g. smart_read\n34,323 saved @ 95%), and get_optimization_report rendered the summary.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(analytics): auto-record token savings + add get_optimization_rep…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T01:49:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "73550bcd401adf0554e228f1abaeb87e5b464631",
"body": "… .mcp.json (#179)\n\nTwo urgent production issues:\n\n1. Releases have failed on every merge since the semantic-release@25 upgrade\n (last published release was v5.0.1, 2025-11-02). Root cause: the Release\n workflow runs on Node 20, but semantic-release@25 requires Node ^22.14 ||\n >=24.10, so `npx\n[…]\ny — the exposed credentials must be rotated and history purged\n separately.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(ci,security): repair release pipeline (Node 22) and stop tracking…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-20T01:24:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0408bee1a476814be830d12adec05a4165eeff95",
"body": "…an-leak (#177)\n\n* fix(server): exit on stdin close/end/error to stop Windows orphan-leak\n\nA stdio MCP server must exit when its parent (the MCP client, e.g. Claude\nCode) dies. On Windows a killed parent sends NO SIGTERM to the child, so the\nexisting SIGINT/SIGTERM handlers never fire on orphaning. \n[…]\n <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: claude-flow <ruv@ruv.net>\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(server): exit stdio server on stdin close to prevent Windows orph…",
"author_name": "Mikhail Nemerov",
"author_login": "deadczarvc",
"committed_at": "2026-07-19T20:50:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "99252aec279a1767878136fe59712f006018de26",
"body": "Follow-up to #175 addressing every gap surfaced in review.\n\nSmart-read (the #5/#6/#7 story, now definitively resolved):\n- Claude Code's updatedToolOutput does NOT work for built-in tools like Read\n (anthropics/claude-code#32105, closed/not-implemented) — only\n updatedMCPToolOutput works, and only \n[…]\nglob\nreturns 165 for **/*.ts (matches find), smart_log oneline leaks no body.\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(hooks,tools): close gap-analysis findings on top of #175 (#176)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-15T03:28:06Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fc56d44ca93ccf5092ecfb50eef21e762db5ab08",
"body": "Removes [tar](https://github.com/isaacs/node-tar). It's no longer used after updating ancestor dependency [npm](https://github.com/npm/cli). These dependencies need to be updated together.\n\n\nRemoves `tar`\n\nUpdates `npm` from 11.16.0 to 11.17.0\n- [Release notes](https://github.com/npm/cli/releases)\n-\n[…]\nency-version: 11.17.0\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump tar and npm (#174)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T03:15:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f153b48dd0765a9326bd80fc9d411e0b40bca139",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.23 to 4.12.26.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.23...v4.12.26)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.26\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump hono from 4.12.23 to 4.12.26 (#173)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-15T03:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ced86aa345771e33e71d9db7ff5a899ef88acf28",
"body": "…rted issues) (#175)\n\n* fix(hooks): repair fatal parse error and 10 critical hook bugs\n\nThe orchestrator failed to parse in PowerShell 5.1 (invalid `$var:` token\nplus non-exhaustive class methods), so it exited on every hook invocation\nand none of the token-optimizer hooks ever ran. Fixing that unbl\n[…]\n-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: repair broken PowerShell hooks and 5 MCP tool bugs (15 user-repo…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-07-15T02:17:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d9338213fb5c2264d67b9ed3f74bf48b226bd601",
"body": "…#171)\n\n* fix(cache): tolerate a directory passed as the cache engine db path\n\nCacheEngine treated dbPath strictly as the database FILE path. When the path is\nactually an existing directory -- which happens for users who upgraded from an\nolder build that stored the cache as ~/.hypercontext/cache/cac\n[…]\nted at it.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(cache): tolerate a directory passed as the cache engine db path (…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-06-14T02:48:36Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9e5a06cad1e204b77349c03e1da0520ae3af54c0",
"body": "* ci(release): harden release pipeline + add version-info notifications\n\nBrings the semantic-release pipeline up to the AiDotNet automated-release\nformat (adapted for npm):\n\n- Add a concurrency group (cancel-in-progress) so a newer push to master\n supersedes an in-flight release.\n- Add timeout-minu\n[…]\nnly token.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci(release): harden release pipeline + version-info notifications (#170)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-06-10T17:59:37Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b4ee96dac799cbfba0a9f9c17844ce9d613cbcc7",
"body": "…169)\n\n* fix(security): eliminate os command injection across smart_* tools\n\nAddresses GHSA-29p3-56wx-ggfh (critical), GHSA-8w8q-fgv9-j286,\nGHSA-49mq-fc6q-3h46, and GHSA-76pc-mqxp-3rq5.\n\n- Add src/utils/safe-exec.ts argv-mode helpers (execFileSafe/Sync, spawnSafe)\n plus assertSafeGitRef / assertSaf\n[…]\nabilities.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: franklinic <franklin@ivorycloud.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(security): eliminate os command injection across smart_* tools (#…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-06-10T17:59:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4ae7c351659b3a1a7f741f6dc427577aead9fdd8",
"body": "… (#167)\n\n* fix(smart_read): guard zod-v4 error issues and require non-empty path\n\nvalidateToolArgs read `error.errors`, which zod v4 removed in favor of\n`error.issues`, so any failed validation crashed with\n\"Cannot read properties of undefined (reading 'map')\". Read\n`error.issues ?? error.errors ??\n[…]\n <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: nilhem <3x3by3@gmail.com>\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nCo-authored-by: franklinic <franklin@ivorycloud.com>",
"is_bot": false,
"headline": "fix(smart_read): guard zod-v4 error issues and require non-empty path…",
"author_name": "Christopher Mehlin",
"author_login": "nilhemdot",
"committed_at": "2026-06-10T17:58:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f5c19c69d936aa8a2c9d736825bb31eefaacf5d6",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.18 to 4.12.23.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.18...v4.12.23)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.23\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump hono from 4.12.18 to 4.12.23 (#168)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-05T21:09:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e86768356744b3e16665806faea07c3471021a00",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.2 to 6.15.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.2...v6.15.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.15.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump qs from 6.14.2 to 6.15.2 (#166)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-06-05T21:09:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "45a76c37e2bbc96d3e204934d70b0131c7ce7360",
"body": "Bumps [fast-uri](https://github.com/fastify/fast-uri) from 3.1.0 to 3.1.2.\n- [Release notes](https://github.com/fastify/fast-uri/releases)\n- [Commits](https://github.com/fastify/fast-uri/compare/v3.1.0...v3.1.2)\n\n---\nupdated-dependencies:\n- dependency-name: fast-uri\n dependency-version: 3.1.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump fast-uri from 3.1.0 to 3.1.2 (#165)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-20T00:30:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "353a3823bd751ac6965b2c78656b0f9e7606a8b3",
"body": "Bumps [hono](https://github.com/honojs/hono) from 4.12.14 to 4.12.18.\n- [Release notes](https://github.com/honojs/hono/releases)\n- [Commits](https://github.com/honojs/hono/compare/v4.12.14...v4.12.18)\n\n---\nupdated-dependencies:\n- dependency-name: hono\n dependency-version: 4.12.18\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump hono from 4.12.14 to 4.12.18 (#164)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-05-20T00:30:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8137147c028771510271d5b4c7ea44134fbf866b",
"body": "Added a security policy document outlining supported versions and vulnerability reporting.",
"is_bot": false,
"headline": "Create SECURITY.md for security policy",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T11:28:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3161526b031adec6a30e575c7152b5e7b69f4ec",
"body": "…, context-delta (#163)\n\n* feat: implement lru cache and sophisticated token counting (issues #4 and #5)\n\n- add lrucache class with ttl support and statistics tracking\n- add tokencounter class with google ai api integration\n- implement content-type aware token estimation (code/json/markdown/text)\n- \n[…]\nuploaded. The step still fails\n only on critical prod vulnerabilities.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: optimization platform — config, tokenizers, LRU cache, sessions…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T10:02:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4503d0b5ee395233a76b70bd0403480dba95f71d",
"body": "Bumps [glob](https://github.com/isaacs/node-glob) from 10.4.5 to 10.5.0.\n- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/node-glob/compare/v10.4.5...v10.5.0)\n\n---\nupdated-dependencies:\n- dependency-name: glob\n dependency-version: 10.5.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump glob from 10.4.5 to 10.5.0 (#161)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:15:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a94570a275cbb40dc5b8f6e5bd47c9436ef5e47b",
"body": "Supersedes #159 and #158 — both dependabot PRs had lockfile conflicts\nthat were not auto-resolved. ajv is a transitive dep (via the MCP SDK\nand eslint), so this is a lockfile-only change.\n\nPicks up CVE-2025-... ($data exploit via regular expression) by\nbringing in ajv's regExp option. See\nhttps://github.com/ajv-validator/ajv/commit/b552ed66191eb338498df3196065c777e3bb71f2\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(deps): bump transitive ajv from 6.12.6 to 6.14.0 (#162)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T01:15:08Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "aa89737d876700aa3846d814ff415a786605d55f",
"body": "Supersedes #155 — dependabot stopped auto-rebasing that PR after\n30 days. Rebased onto current master so the lockfile merges cleanly.\n\nRelease notes: https://github.com/isaacs/node-glob/releases/tag/v11.1.0\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(deps): bump glob from 11.0.3 to 11.1.0 (#160)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T01:10:28Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8b2f14ba238cfbc05a82e0756b1eb280faa95c10",
"body": "…d (#157)\n\nSupersedes #141. Rebased onto current master; resolves the #157 merge\nconflict and addresses the CodeRabbit review on package.json:124.\n\n- Bump @modelcontextprotocol/sdk caret to ^1.26.0 (security:\n GHSA-345p-7cg4-v4c7 cross-client response leak).\n- Declare zod as a direct dependency (>=\n[…]\nd src/validation/validator.ts to read ZodError.issues, both\n required when zod resolves to v4 and backward compatible with v3.25.\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(deps): bump @modelcontextprotocol/sdk to ^1.26.0 and declare zo…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T01:09:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b77242f07d2b2cdbbb0837c3b962c4cdd61f0375",
"body": "Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.\n- [Release notes](https://github.com/micromatch/picomatch/releases)\n- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/micromatch/picomatch/compare/2.3.1...2.3.\n[…]\ntch\n dependency-version: 2.3.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 (#156)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:04:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "06b941f1b65f85758f1efa16839c0629826a61d0",
"body": "Fixes MCP schema validation error: \"array schema missing items\".\nAdds items definitions to six array parameters across four tool\ndefinitions so the MCP client can validate inputs:\n\n- cache_warmup.accessHistory (the originally reported bug)\n- smart_database.params\n- anomaly_explainer.historicalData, events\n- knowledge_graph.entities, relations\n\nCloses #153\n\nCo-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: add missing items schema to array tool parameters (#153) (#154)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-04-20T01:03:34Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ba5b9d309072ef510b1ac0e1d8ea3091d6d9b7bf",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.18.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump lodash from 4.17.23 to 4.18.1 (#152)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:03:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e812e3714b43ea39155e8aee26c58274deed3e51",
"body": "Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)\n\n---\nupdated-dependencies:\n- dependency-name: lodash-es\n dependency-version: 4.18.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump lodash-es from 4.17.23 to 4.18.1 (#151)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:02:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98b431b629639a536062106c3b30f5200050a887",
"body": "Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 8.3.0 to 8.4.0.\n- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)\n- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)\n- [Commits](https://github.com/pillarjs/path-to-regexp/compa\n[…]\nexp\n dependency-version: 8.4.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump path-to-regexp from 8.3.0 to 8.4.0 (#149)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:02:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4f6760df25dc042b3f75cd93d5e528ba732d85e5",
"body": "Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.\n- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)\n- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)\n- [Commits](https://github.com/handlebar\n[…]\nars\n dependency-version: 4.7.9\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 (#148)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:02:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "50c503055523ce3ed70169c69176270de6f9adf9",
"body": "Bumps [undici](https://github.com/nodejs/undici) and [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client). These dependencies needed to be updated together.\n\nUpdates `undici` from 7.18.2 to 7.24.6\n- [Release notes](https://github.com/nodejs/undici/releases)\n- [Co\n[…]\nnt\"\n dependency-version: 3.0.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump undici and @actions/http-client (#147)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:02:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fa3360394b78f14aeba8f296c5a3dafd26d382fa",
"body": "Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.\n- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)\n- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)\n\n---\nupdated-dependencies:\n- dependency-name: minimatch\n dependency-version: 3.1.5\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump minimatch from 3.1.2 to 3.1.5 (#146)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:01:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7779d95c2e52a08007fbd11eeb88bf670041853f",
"body": "Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.\n- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)\n\n---\nupdated-dependencies:\n- dependency-name: flatted\n dependency-version: 3.4.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump flatted from 3.3.3 to 3.4.2 (#145)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:01:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f7d8d444c0a673d57101fe129ff68f8b47a41eb1",
"body": "Removes [tar](https://github.com/isaacs/node-tar). It's no longer used after updating ancestor dependency [npm](https://github.com/npm/cli). These dependencies need to be updated together.\n\n\nRemoves `tar`\n\nUpdates `npm` from 11.7.0 to 11.12.0\n- [Release notes](https://github.com/npm/cli/releases)\n- \n[…]\nm\n dependency-version: 11.12.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump tar and npm (#144)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-04-20T01:01:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3f069f7ce82ed9f25ca30d8c9ad154425090f63d",
"body": "… and #5) (#127)\n\n* feat: implement lru cache and sophisticated token counting (issues #4 and #5)\n\n- add lrucache class with ttl support and statistics tracking\n- add tokencounter class with google ai api integration\n- implement content-type aware token estimation (code/json/markdown/text)\n- integra\n[…]\nng for timeout/network errors\n- fix detectcontenttype regex for exact matching\n\naddresses feedback from github copilot and coderabbit reviews\n\n---------\n\nCo-authored-by: claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement LRU cache and sophisticated token counting (issues #4…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-03-26T10:55:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1ac3e7bdd7f62cceb384dd999db3a082337f4501",
"body": "…mmitted to master) (#128)\n\n* fix: resolve powershell parse errors and session file corruption\n\nCRITICAL FIXES:\n\n1. PowerShell Parse Error (lines 1598, 1620):\n - Changed $toolName: to ${toolName}: to avoid drive syntax interpretation\n - Prevents \"Variable reference is not valid\" errors\n - Scri\n[…]\nmization stats\nremained at 0.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: move background optimization and session fixes to PR (wrongly co…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2026-03-26T10:55:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9d4ab48616a814a8bfa5a15ea30583f39a038c5d",
"body": "Bumps and [js-yaml](https://github.com/nodeca/js-yaml). These dependencies needed to be updated together.\n\nUpdates `js-yaml` from 4.1.0 to 4.1.1\n- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)\n\nUpdates `j\n[…]\nml\n dependency-version: 3.14.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump js-yaml (#129)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:54:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2026e38a8feb1855e6e7ba31bfb08b245f2f7aa0",
"body": "Bumps [body-parser](https://github.com/expressjs/body-parser) from 2.2.0 to 2.2.1.\n- [Release notes](https://github.com/expressjs/body-parser/releases)\n- [Changelog](https://github.com/expressjs/body-parser/blob/master/HISTORY.md)\n- [Commits](https://github.com/expressjs/body-parser/compare/v2.2.0..\n[…]\nser\n dependency-version: 2.2.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump body-parser from 2.2.0 to 2.2.1 (#132)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:54:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b53eec2a5dd1f4d7d6f3b7e3d3df2d21ec7f6160",
"body": "Bumps [express](https://github.com/expressjs/express) from 5.1.0 to 5.2.1.\n- [Release notes](https://github.com/expressjs/express/releases)\n- [Changelog](https://github.com/expressjs/express/blob/master/History.md)\n- [Commits](https://github.com/expressjs/express/compare/v5.1.0...v5.2.1)\n\n---\nupdate\n[…]\nendency-version: 5.2.1\n dependency-type: direct:production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump express from 5.1.0 to 5.2.1 (#133)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:54:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "09d56519bd029072ff84ea23d18523fe9c60519f",
"body": "…137)\n\nBumps [diff](https://github.com/kpdecker/jsdiff), [semantic-release](https://github.com/semantic-release/semantic-release) and [@semantic-release/npm](https://github.com/semantic-release/npm). These dependencies needed to be updated together.\n\nUpdates `diff` from 8.0.2 to 8.0.3\n- [Changelog](\n[…]\ndency-version: 13.1.3\n dependency-type: direct:development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump diff, semantic-release and @semantic-release/npm (#…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:53:57Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8567b69765e37f3b4216f25651f5d899ae03fc8f",
"body": "Bumps [lodash-es](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash-es\n dependency-version: 4.17.23\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump lodash-es from 4.17.21 to 4.17.23 (#138)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:53:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "331dc9c985eecd1f2a919963266d2cc83c734b1d",
"body": "Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.\n- [Release notes](https://github.com/lodash/lodash/releases)\n- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)\n\n---\nupdated-dependencies:\n- dependency-name: lodash\n dependency-version: 4.17.23\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump lodash from 4.17.21 to 4.17.23 (#139)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:53:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "257bff681c88efb4ceabc24882738cfbcef8381c",
"body": "Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.\n\n---\nupdated-dependencies:\n- dependency-name: \"@isaacs/brace-expansion\"\n dependency-version: 5.0.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump @isaacs/brace-expansion from 5.0.0 to 5.0.1 (#140)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:53:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26710b780d32585d0124dcda4cdffb3b110cbaa1",
"body": "Bumps [qs](https://github.com/ljharb/qs) from 6.14.0 to 6.14.2.\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.14.0...v6.14.2)\n\n---\nupdated-dependencies:\n- dependency-name: qs\n dependency-version: 6.14.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump qs from 6.14.0 to 6.14.2 (#142)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-26T10:53:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e43e7c1b1bdcafca902e26909208403543a7db2",
"body": "CRITICAL BUG FIX:\n\nPowerShell Start-Process does not allow both -WindowStyle and -NoNewWindow\nparameters simultaneously. This caused ALL background optimization processes\nto fail immediately with InvalidOperationException.\n\n**Error**: \"Parameters '-NoNewWindow' and '-WindowStyle' cannot be specified\n[…]\n\nThis explains why totalOperations incremented but all optimization stats\nremained at 0.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: remove conflicting Start-Process parameters causing silent failures",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-03T00:10:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "770cf3164a9010d90e1848672b3b257e20889fd2",
"body": "…tence\n\nCRITICAL PERFORMANCE + PERSISTENCE FIXES:\n\n1. **Background Optimization (NON-BLOCKING)**:\n - Run optimize-tool-output in background using Start-Process\n - Hooks return immediately (~10ms) instead of blocking (1+ min)\n - Background process cleans up temp file when done\n - Added timing\n[…]\nmechanism for state sharing. All\nsession modifications must persist immediately to disk.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement background optimization with immediate session persis…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-02T22:26:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ceaf8e10d9df76022074a8c331cbb3ed25163f03",
"body": "CRITICAL FIXES:\n\n1. PowerShell Parse Error (lines 1598, 1620):\n - Changed $toolName: to ${toolName}: to avoid drive syntax interpretation\n - Prevents \"Variable reference is not valid\" errors\n - Script can now execute without syntax errors\n\n2. Write-SessionFile Corruption Fix:\n - Initialize $\n[…]\nprevented script execution entirely\n- Improper file disposal caused 0-byte session files\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: resolve powershell parse errors and session file corruption",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-02T21:02:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "31efcf3deb26002eacc979650b0f2e3b04bdcc2f",
"body": "…(#119)\n\nThis commit fixes the version mismatch between package.json (3.1.0) and\nthe actual release version (v5.0.1).\n\n**Changes:**\n\n1. **Added @semantic-release/git plugin** (.releaserc.json)\n - Commits version updates back to repository\n - Updates package.json, package-lock.json, CHANGELOG.md\n\n[…]\n.1.0 ❌ → 5.0.1 ✅\n\nFuture releases will automatically commit version changes to the repo.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: add semantic-release git plugin and sync package.json to v5.0.1 …",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-02T16:49:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8138f3a6d32eff80387f24d6068039ae8fb7bfa9",
"body": "…ll phases) (#118)\n\n* fix: resolve critical negative token savings and 0% cache hit rate (phase 1 fixes)\n\nThis commit addresses the root causes of negative token savings (-1.9%) and 0% cache hit rate identified through comprehensive Gemini CLI analysis.\n\n**Critical Bugs Fixed:**\n\n1. **Removed direct\n[…]\nh magic values with constants\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: resolve critical negative token savings and 0% cache hit rate (a…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-02T16:26:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0b9b1d3fb6c06fa7b94b772490ac432bfb7369d9",
"body": "* fix: implement daemon with ipc to eliminate npx spawn overhead\n\nBREAKING PERFORMANCE FIX - 285x speedup for MCP tool calls\n\nRoot Cause:\n- invoke-mcp.ps1 spawned 'npx token-optimizer-mcp' for EVERY MCP call\n- Each spawn took 1000-4000ms (npx resolution + node startup + module loading)\n- With 200+ M\n[…]\n id:null breaking JSON-RPC spec\n\nGenerated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: eliminate 3-6x slowdown with IPC daemon (resolves #116) (#117)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-01T17:50:20Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3d1cacc146299ff85b7749b6f2680fdbdb5f67ea",
"body": "…lytics (#114)\n\n* feat: implement granular per-hook/per-action/per-mcp-server token analytics\n\nImplements GitHub Issue #112 with detailed token usage tracking:\n\n- Created analytics types system (HookPhase, AnalyticsEntry, AggregatedStats)\n- Implemented SqliteAnalyticsStorage with batched writes for \n[…]\noss from buffered analytics during shutdown\n- Addresses CodeRabbit review comment on PR #114\n\n* docs: fix brand name capitalization in readme\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement granular per-hook/per-action/per-mcp-server token ana…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-01T17:37:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "04097dd8bed9444b95849a190a32e69068a0f56f",
"body": "…13) (#115)\n\n* feat: add auto-updating savings data to current-session.txt (issue #113)\n\nAdd real-time token savings tracking to current-session.txt file by automatically\nupdating savings metrics every 10 operations.\n\nChanges:\n- Update README.md to document new savings object in current-session.txt\n\n[…]\n examples in the documentation.\n\nGenerated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add auto-updating savings data to current-session.txt (issue #1…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-11-01T05:50:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4d5a0c50e8ec0b3ce87ddbc62bf541638e19e520",
"body": "…ollision (#111)\n\n* fix: resolve powershell args collision causing token tracking failure\n\nRenamed parameter from $Args to $ToolArguments in invoke-mcp.ps1 to avoid\ncollision with PowerShell's automatic $args variable.\n\nThe $Args collision caused all MCP tool arguments to serialize as empty {}\nobjec\n[…]\n- src/validation/validator.ts\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: resolve critical token tracking bug caused by PowerShell $args c…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T17:46:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1a3da5e46bfe6621a7a9a7fcd7bc049491aa5719",
"body": "…#110)\n\n* fix: resolve critical token tracking and versioning issues\n\nBREAKING FIXES (v3.1.0 → v3.1.1):\n\n1. **Token Tracking Serialization Bug (CRITICAL)**\n - Fixed PowerShell Hashtable serialization in invoke-mcp.ps1\n - Root cause: Nested Hashtables serialize as [] empty array in JSON\n - Solu\n[…]\noss GitHub, npm, and source installs\n- Accurate token counts regardless of active model\n\nRelated PRs: #107 (attempted fix), #108, #109\n\n* fix: remove typescript any type from maptotiktokenmodel method",
"is_bot": false,
"headline": "fix: resolve critical token tracking and versioning issues (v3.1.1) (…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T12:11:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7c5a5d20ae81804fca18f1824760b4cf2f0981ad",
"body": "- Add Zod schemas for all 67 tools in src/validation/tool-schemas.ts\n- Add validateToolArgs function in src/validation/validator.ts\n- Integrate validation into CallToolRequestSchema handler\n- Validation coverage: 16% to 100% (11 to 67 tools)\n\nBased on comprehensive Gemini CLI analysis (2M token context window)\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add comprehensive validation system for all 67 tools (#109)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T03:32:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "718b36a8dc7c1729232abfb794d4952285652bdf",
"body": "- Add in-memory session state with batched disk writes\n- Buffer operation logs and flush every 5s or 100 operations\n- Add TOKEN_OPTIMIZER_USE_FILE_SESSION environment variable for rollback\n- Add TOKEN_OPTIMIZER_SYNC_LOG_WRITES for disabling batching\n- Add TOKEN_OPTIMIZER_DEBUG_LOGGING to control deb\n[…]\nget: 7x performance improvement (50-70ms to <10ms)\nResult: 85% reduction in hook latency\n\nBased on comprehensive Gemini CLI analysis of PowerShell hooks\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf: optimize powershell hooks from 50-70ms to <10ms overhead (#108)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T03:20:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d38efe03d0b63fbf4286db5979de9072f67cf625",
"body": "…#107)\n\n* fix: remove pscustomobject casts causing argument serialization bug\n\nCRITICAL BUG FIX: PowerShell 7+ serializes [PSCustomObject] incorrectly\n- Hashtable cast to PSCustomObject becomes empty array [] or {\"value\":[],\"Count\":0}\n- This caused ALL MCP tool calls to receive empty arguments\n- Res\n[…]\narios with detection and rollback procedures\n- Add health monitoring code for early detection\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: remove pscustomobject casts causing argument serialization bug (…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T01:31:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cf63f70753978c4264efc296a4856ac36653f7f8",
"body": "* docs: add comprehensive monitoring and troubleshooting guide\n\nAdded two major sections to help users maximize token savings:\n\n**Monitoring Token Savings**:\n- Real-time session monitoring with get_session_stats\n- Session log analysis (CSV format with token metrics)\n- Project-wide token cost analysi\n[…]\no BSD sed syntax differences.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: add comprehensive monitoring and troubleshooting guide (#106)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-31T00:50:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "291e58a8bb5ed882e885178ddb1a43c9552c14e1",
"body": "* fix: prevent bom in json files written by install-hooks.ps1\n\n**Problem**: PowerShell's `Set-Content -Encoding UTF8` adds a UTF-8 BOM\n(Byte Order Mark: EF BB BF) to files, which breaks JSON parsers and causes\nClaude Code to show \"Invalid or malformed JSON\" errors.\n\n**Impact**: Users cannot use Clau\n[…]\nthat would break Claude Code.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: prevent BOM in JSON files written by install-hooks.ps1 (#105)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T19:18:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "14ddecd203f3cb8c5b42f87d05e827cb490ed74a",
"body": "…(#104)\n\nThe install-hooks.ps1 script was attempting to download hook files from the 'main' branch, but the repository uses 'master' as the default branch. This caused all GitHub downloads to fail with 404 errors, forcing the installer to fall back to local npm package files.\n\nChanges:\n- Update REPO\n[…]\nct branch\n\nImpact:\n- Eliminates unnecessary 404 errors during installation\n- Reduces installation time by successfully downloading from GitHub\n- Improves user experience with cleaner installation logs",
"is_bot": false,
"headline": "fix: correct branch name in install-hooks script from main to master …",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T12:37:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5cc33456de4632dc1f6dd30ab20735963f197c8c",
"body": "package.json has type module so postinstall.js needs to be .cjs",
"is_bot": false,
"headline": "fix: rename postinstall script to cjs for commonjs compatibility",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:43:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "708b8232d4204aa6f91e53d21aea7f83ac803983",
"body": "- add postinstall script that auto-installs hooks after global npm install\n- detect platform (windows/unix) and run appropriate installer\n- skip installation in ci or local (non-global) installs\n- gracefully handle failures without breaking npm install\n- update readme with simplified installation in\n[…]\ntions\n- fix semantic-release template bug (releaseurl undefined)\n\nBREAKING CHANGE: hooks now install automatically on global install\nusers upgrading should restart claude code/desktop after npm update",
"is_bot": false,
"headline": "feat: add automatic hook installation on npm install",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:40:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4216a7d4f5ce53172aaeb741f764e9a621a0fcef",
"body": "- increase timeout from 200ms to 500ms in path-traversal tests\n- accounts for CI environment variability\n- prevents intermittent release workflow failures\n- remove committed JWT token (.mcpregistry_registry_token)\n- enhance gitignore to prevent secrets\n- complete repository cleanup (remove 75+ junk files)\n- organize documentation into docs/ folder",
"is_bot": false,
"headline": "fix: stabilize performance tests and remove security vulnerabilities",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:33:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b8e6f994b776b56f81028e365778daf1557fee7",
"body": "latest release is v2.19.0, so next version should be 2.20.0",
"is_bot": false,
"headline": "chore: correct version to 2.20.0",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:27:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59d0f640cb2019f3499df77bd3895da257486c98",
"body": "- fix flaky performance tests\n- complete repository cleanup\n- remove committed secrets\n- enhance gitignore patterns",
"is_bot": false,
"headline": "chore: bump version to 2.13.0",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:26:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c3ce36425eec4dc454073e2e441e3067f866bb8",
"body": "* chore: remove junk files and improve gitignore\n\nRemove 125 unnecessary files from repository:\n- 15 report files (AGENT_*, *REPORT.md, *ANALYSIS.md)\n- 21 temporary debug files (*.txt, *.json, *.patch)\n- 13 temporary scripts (*.ps1, *.cjs, *.sh)\n- 5 misplaced/empty files (get_session_summary_impl.ts\n[…]\ne:\n- Add .mcpregistry_registry_token to ignore list\n\nThis completes the repository organization, ensuring all documentation\nis in docs/, utility scripts are in scripts/, and examples are in\nexamples/.",
"is_bot": false,
"headline": "chore: complete repository cleanup and organization (#103)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:24:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "246674c0e4251e75e7fc689b51a086b8dc50a9ae",
"body": "* chore: remove junk files and improve gitignore\n\nRemove 125 unnecessary files from repository:\n- 15 report files (AGENT_*, *REPORT.md, *ANALYSIS.md)\n- 21 temporary debug files (*.txt, *.json, *.patch)\n- 13 temporary scripts (*.ps1, *.cjs, *.sh)\n- 5 misplaced/empty files (get_session_summary_impl.ts\n[…]\nes slightly over\n200ms (e.g., 218ms).\n\nThis change maintains performance validation while being more tolerant\nof CI environment fluctuations.\n\nFixes release workflow failures in semantic-release step.",
"is_bot": false,
"headline": "chore: clean up junk files and fix flaky test (#102)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T04:05:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ddd9c48b7bb8f15bc2f6f419a30a8a4c8f69d5f5",
"body": "Remove 54 unnecessary files from repository:\n- 15 report files (AGENT_*, *REPORT.md, *ANALYSIS.md)\n- 21 temporary debug files (*.txt, *.json, *.patch)\n- 13 temporary scripts (*.ps1, *.cjs, *.sh)\n- 5 misplaced/empty files (get_session_summary_impl.ts, etc.)\n\nUpdate .gitignore to prevent re-adding:\n- \n[…]\nuidelines)\n- Temporary files and scripts\n- Lock files from tools\n- Temporary directories\n\nThis cleanup addresses repository hygiene issues and ensures compliance\nwith CLAUDE.md documentation policies.",
"is_bot": false,
"headline": "chore: remove junk files and improve gitignore",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T03:59:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8516347f576eee3e6f7deae3ca480238ef581b76",
"body": "* test: add comprehensive tests for configurable cache path via environment variable\n\nAdded 5 new test cases to verify the TOKEN_OPTIMIZER_CACHE_DIR environment\nvariable functionality:\n- Environment variable usage when no explicit path provided\n- Fallback to os.homedir() when environment variable no\n[…]\ncross test cleanup blocks. Replaces 4 identical cleanup code blocks\nwith calls to the helper function.\n\nAddresses CodeRabbit review feedback.\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "test: add comprehensive tests for configurable cache path (#100)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T03:56:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "66f73a742bc2ce52aa781f83bd87af6b4095d005",
"body": "Add 35 unit tests covering hourly trends, tool call patterns, and server\nefficiency analytics. Tests verify token calculations, grouping logic,\nsorting behavior, and edge cases.\n\nAll tests pass (549 passed, 1 skipped). Implements acceptance criteria\nfor US-NF-002 session analytics enhancements.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "test: add comprehensive tests for session analytics features (#101)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T03:50:28Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "242e3db2969d6c8d18e49005bba7ec984089af82",
"body": "* feat: production-ready deduplication module\n\nImplements a comprehensive, production-ready deduplication module with:\n\n**Sentence Tokenization**\n- Uses Intl.Segmenter (Node 16+) for accurate sentence splitting\n- Handles abbreviations (Dr., U.S., etc.) and decimals correctly\n- Falls back to improved\n[…]\nfy prettier formatting check.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: production-ready deduplication module (#99)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T02:56:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fd6b932069d1abed56cae8206b45fc6bfb7bf115",
"body": "Removes unused preserveFirst variable that was causing\nTypeScript build error TS6133. The variable was declared\nbut never read after simplifying the duplicate-handling\ncode.\n\nFixes build failure in PR #96 post-merge.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: remove unused preservefirst variable (#98)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T02:48:05Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "42da940d806dcf2cbcd9c9723240958c7503daa8",
"body": "* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n* refactor: \n[…]\nit critical issues in PR #96.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: windows installation and documentation improvements (#96)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-30T02:26:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b270ba1bc65e17c449db38710e050711f9e80762",
"body": "…es (#95)\n\n* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n*\n[…]\npassing: 514/514 (23 test suites)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n* style: apply prettier formatting to deduplication module\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement extensible plugin architecture for optimization modul…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-29T00:32:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3ec40fd85af8725821c1e9ee8207f1e45109a96f",
"body": "… hit rates (#94)\n\n* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark re\n[…]\ness coderabbit review comments\n\n* fix(pr-94): add sessionId validation after JSON parse\n\n* fix(pr-94): convert test files from vitest to jest\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement semantic caching with vector store for improved cache…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T18:05:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f870a31fd9d211dad4d326a530e64ef5957da503",
"body": "* feat(US-NF-002): Implement dynamic import for compression\n\nImplements dynamic import for optional compression packages in CacheCompressionTool.\n\n## Implementation Details\n\n- Added loadPackages() method for dynamic imports of lz4, zstd-codec, and snappy\n- Implemented fallback logic in compressWithA\n[…]\node](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n* style: fix prettier formatting for api-database tools\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement dynamic import for optional compression packages (#93)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T16:30:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3307f0de52d17572b0ff35e4463185b7c33d8015",
"body": "* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n* refactor: \n[…]\nor robust containment\n- Use fs.realpathSync to defeat symlink escapes in compression stage\n- Validate JSONL file path stays within hooks data directory\n\nAddresses CodeRabbit critical security findings",
"is_bot": false,
"headline": "refactor: unify session logging to jsonl format (#90)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T16:06:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9fb448a3bdbc187d04a458a19b50e9d214048d6a",
"body": "…ests (#92)\n\n* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n[…]\ners)\n- Performance benchmarks\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: implement abstractive summarization module with comprehensive t…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T13:14:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "451671010397f521b657d3bc4d2e0ba303c2e192",
"body": "* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n* feat: esta\n[…]\n source files with Prettier\n- All files now pass format:check and lint (0 errors, 399 warnings)\n- Build succeeds after formatting\n\nImplements US-CI-001: Establish Code Quality and Formatting Standards",
"is_bot": false,
"headline": "feat: establish code quality standards with eslint and prettier (#91)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T13:12:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "58ee8c65b877ebac1fd9fa4977630463a1cef7c6",
"body": "* chore: remove moved user story documentation files\n\n- Moved bug_fixes.md to user-stories/token-optimizer-mcp/completed/\n- Moved code_improvements.md to user-stories/token-optimizer-mcp/completed/\n- Moved new_features.md to user-stories/token-optimizer-mcp/\n- Updated benchmark results\n\n* refactor: \n[…]\nctoring\n\nImplements US-CI-001\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: eliminate global state pattern for dependency injection (#89)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T12:49:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "57c2df8687b33c26635c067836066055fe65b1aa",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 2.12.1",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T00:47:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b3d8882d9e8e24f020f03d18177146980a0de9b3",
"body": "…rced (#88)\n\n* fix(hooks): remove mandatory param block consuming stdin when dot-sourced\n\ncritical bug fix: hooks were failing to receive json input from claude code\n\nroot cause:\n- token-optimizer-orchestrator.ps1 had param block with mandatory=$true parameters\n- when dot-sourced by dispatcher.ps1, \n[…]\nude code](https://claude.com/claude-code)\n\nco-authored-by: claude <noreply@anthropic.com>\n\n* fix: address coderabbit critical review comments\n\n---------\n\nCo-authored-by: claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(hooks): remove mandatory param block consuming stdin when dot-sou…",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-28T00:28:53Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9248441ebe4ab30aacdc8086b4a68528381b3953",
"body": "* style: fix prettier formatting issues in 8 files\n\n* refactor: consolidate singleton instances in intelligence tools\n\n- Create shared-instances.ts module with true singleton instances\n- Update all intelligence tools to use shared CacheEngine, TokenCounter, and MetricsCollector\n- Eliminates per-tool\n[…]\nengine.ts\n- smart-summarization.ts\n\nNote: TTL support should be added to CacheEngine in a future PR.\nSee upcoming user story for implementation details.\n\nAddresses CodeRabbit review comments on PR #87",
"is_bot": false,
"headline": "style: fix prettier formatting issues (#87)",
"author_name": "Franklin Moormann",
"author_login": "ooples",
"committed_at": "2025-10-27T16:15:32Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 36,
"commits_last_year": 400,
"latest_release_at": "2026-07-21T12:51:28Z",
"latest_release_tag": "v5.2.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 10,
"days_since_latest_release": 8,
"mean_days_between_releases": 29.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 85,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "@ooples/token-optimizer-mcp",
"exists": true,
"license": "MIT",
"keywords": [
"mcp",
"model-context-protocol",
"claude",
"claude-code",
"token-optimization",
"caching",
"compression",
"ai",
"llm",
"context-management",
"prompt-optimization"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@ooples/token-optimizer-mcp",
"is_deprecated": false,
"latest_version": "5.2.0",
"repository_url": "https://github.com/ooples/token-optimizer-mcp",
"versions_count": 19,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2292,
"first_published_at": "2025-10-30T02:50:04.024000Z",
"latest_published_at": "2026-07-21T12:52:15.451000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 8
}
]
},
"popularity": {
"forks": 49,
"stars": 454,
"watchers": 6,
"fork_history": {
"days": [
{
"date": "2025-10-21",
"count": 1
},
{
"date": "2025-11-02",
"count": 1
},
{
"date": "2025-12-16",
"count": 1
},
{
"date": "2026-02-06",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
},
{
"date": "2026-03-29",
"count": 1
},
{
"date": "2026-04-04",
"count": 1
},
{
"date": "2026-04-13",
"count": 1
},
{
"date": "2026-04-18",
"count": 2
},
{
"date": "2026-04-19",
"count": 5
},
{
"date": "2026-04-20",
"count": 5
},
{
"date": "2026-04-21",
"count": 3
},
{
"date": "2026-04-22",
"count": 3
},
{
"date": "2026-04-23",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-05-01",
"count": 2
},
{
"date": "2026-05-11",
"count": 1
},
{
"date": "2026-05-15",
"count": 1
},
{
"date": "2026-05-17",
"count": 2
},
{
"date": "2026-05-18",
"count": 2
},
{
"date": "2026-05-19",
"count": 1
},
{
"date": "2026-05-22",
"count": 1
},
{
"date": "2026-05-29",
"count": 1
},
{
"date": "2026-05-31",
"count": 1
},
{
"date": "2026-06-13",
"count": 1
},
{
"date": "2026-06-23",
"count": 1
},
{
"date": "2026-06-26",
"count": 1
},
{
"date": "2026-07-19",
"count": 3
},
{
"date": "2026-07-20",
"count": 1
},
{
"date": "2026-07-28",
"count": 1
},
{
"date": "2026-07-29",
"count": 1
}
],
"complete": true,
"collected": 49,
"total_forks": 49
},
"star_history": null,
"open_issues_and_prs": 2
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 74148,
"source_files_sampled": 226,
"oversized_source_files": 3,
"agent_instruction_files": [
"GEMINI.md",
"integrations/AGENTS.md",
"integrations/gemini/GEMINI.md"
],
"agent_instruction_max_bytes": 1592
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 146,
"malicious_count": 0,
"assessed_package": "npm:@ooples/token-optimizer-mcp@5.2.0",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@modelcontextprotocol/sdk",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.26.0"
},
{
"name": "async-mutex",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.5.0"
},
{
"name": "better-sqlite3",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^12.4.1"
},
{
"name": "cors",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.8.5"
},
{
"name": "diff",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.0.2"
},
{
"name": "express",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.0"
},
{
"name": "express-rate-limit",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.5.2"
},
{
"name": "glob",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^11.1.0"
},
{
"name": "lru-cache",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^11.2.2"
},
{
"name": "tiktoken",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.22"
},
{
"name": "zod",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": ">=3.25.0 <5"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@modelcontextprotocol/sdk",
"direct": true,
"version": "1.29.0",
"ecosystem": "npm"
},
{
"name": "async-mutex",
"direct": true,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "better-sqlite3",
"direct": true,
"version": "12.4.1",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": true,
"version": "2.8.5",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": true,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": true,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "express-rate-limit",
"direct": true,
"version": "8.5.2",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": true,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": true,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": true,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": true,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": true,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": true,
"version": "11.2.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": true,
"version": "11.5.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": true,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "tiktoken",
"direct": true,
"version": "1.0.22",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "@actions/core",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "@actions/exec",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@actions/http-client",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@actions/io",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.28.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.27.2",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.28.3",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-async-generators",
"direct": false,
"version": "7.8.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-bigint",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-class-properties",
"direct": false,
"version": "7.12.13",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-class-static-block",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-meta",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-json-strings",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-logical-assignment-operators",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-nullish-coalescing-operator",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-numeric-separator",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-object-rest-spread",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-catch-binding",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-chaining",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-private-property-in-object",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-top-level-await",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.27.2",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.28.4",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@commitlint/cli",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-conventional",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-validator",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/ensure",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/execute-rule",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/format",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/is-ignored",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/lint",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/load",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/message",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/parse",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/read",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/resolve-extends",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/rules",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/to-lines",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/top-level",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/types",
"direct": false,
"version": "19.8.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.1",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.1",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.16.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.38.0",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@gar/promise-retry",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@hono/node-server",
"direct": false,
"version": "1.19.14",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.7",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@isaacs/fs-minipass",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@isaacs/string-locale-compare",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@jest/console",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/core",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/diff-sequences",
"direct": false,
"version": "30.0.1",
"ecosystem": "npm"
},
{
"name": "@jest/environment",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/expect",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/expect-utils",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/fake-timers",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/get-type",
"direct": false,
"version": "30.1.0",
"ecosystem": "npm"
},
{
"name": "@jest/globals",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/pattern",
"direct": false,
"version": "30.0.1",
"ecosystem": "npm"
},
{
"name": "@jest/reporters",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/schemas",
"direct": false,
"version": "30.0.5",
"ecosystem": "npm"
},
{
"name": "@jest/snapshot-utils",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/source-map",
"direct": false,
"version": "30.0.1",
"ecosystem": "npm"
},
{
"name": "@jest/test-result",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/test-sequencer",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/transform",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "@jest/types",
"direct": false,
"version": "30.2.0",
"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": "@napi-rs/wasm-runtime",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@npmcli/agent",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/arborist",
"direct": false,
"version": "9.9.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/config",
"direct": false,
"version": "10.12.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/fs",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/git",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@npmcli/installed-package-contents",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/map-workspaces",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "@npmcli/metavuln-calculator",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "@npmcli/name-from-folder",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/node-gyp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/package-json",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "@npmcli/promise-spawn",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/query",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/redact",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@npmcli/run-script",
"direct": false,
"version": "10.0.4",
"ecosystem": "npm"
},
{
"name": "@octokit/auth-token",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "@octokit/core",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "@octokit/endpoint",
"direct": false,
"version": "11.0.1",
"ecosystem": "npm"
},
{
"name": "@octokit/graphql",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "@octokit/openapi-types",
"direct": false,
"version": "26.0.0",
"ecosystem": "npm"
},
{
"name": "@octokit/openapi-types",
"direct": false,
"version": "27.0.0",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-paginate-rest",
"direct": false,
"version": "13.2.0",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-paginate-rest",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-retry",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@octokit/plugin-throttling",
"direct": false,
"version": "11.0.2",
"ecosystem": "npm"
},
{
"name": "@octokit/request",
"direct": false,
"version": "10.0.5",
"ecosystem": "npm"
},
{
"name": "@octokit/request-error",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "@octokit/types",
"direct": false,
"version": "15.0.0",
"ecosystem": "npm"
},
{
"name": "@octokit/types",
"direct": false,
"version": "16.0.0",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.2.9",
"ecosystem": "npm"
},
{
"name": "@pnpm/config.env-replace",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@pnpm/network.ca-file",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@pnpm/npm-conf",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "@sec-ant/readable-stream",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@semantic-release/changelog",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@semantic-release/commit-analyzer",
"direct": false,
"version": "13.0.1",
"ecosystem": "npm"
},
{
"name": "@semantic-release/error",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@semantic-release/error",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@semantic-release/git",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "@semantic-release/github",
"direct": false,
"version": "11.0.6",
"ecosystem": "npm"
},
{
"name": "@semantic-release/github",
"direct": false,
"version": "12.0.2",
"ecosystem": "npm"
},
{
"name": "@semantic-release/npm",
"direct": false,
"version": "13.1.3",
"ecosystem": "npm"
},
{
"name": "@semantic-release/release-notes-generator",
"direct": false,
"version": "14.1.0",
"ecosystem": "npm"
},
{
"name": "@sigstore/bundle",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@sigstore/core",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/protobuf-specs",
"direct": false,
"version": "0.5.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/sign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@sigstore/tuf",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@sigstore/verify",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@sinclair/typebox",
"direct": false,
"version": "0.34.41",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "13.0.5",
"ecosystem": "npm"
},
{
"name": "@tufjs/canonical-json",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@tufjs/models",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.20.5",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@types/better-sqlite3",
"direct": false,
"version": "7.6.13",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/conventional-commits-parser",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "@types/cors",
"direct": false,
"version": "2.8.19",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-report",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-reports",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/jest",
"direct": false,
"version": "30.0.0",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.7.2",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.5",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "1.15.9",
"ecosystem": "npm"
},
{
"name": "@types/stack-utils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/tar-stream",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@types/yargs",
"direct": false,
"version": "17.0.33",
"ecosystem": "npm"
},
{
"name": "@types/yargs-parser",
"direct": false,
"version": "21.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.46.1",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm-eabi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-android-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-arm64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-darwin-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-freebsd-x64",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm-musleabihf",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-arm64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-ppc64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-riscv64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-s390x-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-gnu",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-linux-x64-musl",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-wasm32-wasi",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-arm64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-ia32-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@unrs/resolver-binding-win32-x64-msvc",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "aproba",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "archy",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "argv-formatter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "array-ify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "babel-jest",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-istanbul",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-jest-hoist",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "babel-preset-current-node-syntax",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "babel-preset-jest",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.8.17",
"ecosystem": "npm"
},
{
"name": "before-after-hook",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "bin-links",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "bindings",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "bottleneck",
"direct": false,
"version": "2.19.5",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.26.3",
"ecosystem": "npm"
},
{
"name": "bs-logger",
"direct": false,
"version": "0.2.6",
"ecosystem": "npm"
},
{
"name": "bser",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "cacache",
"direct": false,
"version": "20.0.4",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001751",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "char-regex",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "cidr-regex",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "cli-highlight",
"direct": false,
"version": "2.1.11",
"ecosystem": "npm"
},
{
"name": "cli-table3",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "cmd-shim",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "co",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "collect-v8-coverage",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "common-ancestor-path",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "compare-func",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "config-chain",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-angular",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-angular",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-conventionalcommits",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-conventionalcommits",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-writer",
"direct": false,
"version": "8.2.0",
"ecosystem": "npm"
},
{
"name": "conventional-commits-filter",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-commits-parser",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-commits-parser",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "convert-hrtime",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "cosmiconfig-typescript-loader",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "crypto-random-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dargs",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "dedent",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "deep-extend",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "deepmerge",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "detect-newline",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "duplexer2",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.237",
"ecosystem": "npm"
},
{
"name": "emittery",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "emojilib",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "env-ci",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "environment",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.38.0",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eventsource",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "eventsource-parser",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "9.6.0",
"ecosystem": "npm"
},
{
"name": "exit-x",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "expand-template",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "expect",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "exponential-backoff",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-content-type-parse",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "fastest-levenshtein",
"direct": false,
"version": "1.0.16",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.19.1",
"ecosystem": "npm"
},
{
"name": "fb-watchman",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "file-uri-to-path",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "find-up-simple",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "find-versions",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "from2",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "fs-constants",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.2",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "function-timeout",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-east-asian-width",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "git-log-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "git-raw-commits",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "github-from-package",
"direct": false,
"version": "0.0.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "global-directory",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.10",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphemer",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.9",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "highlight.js",
"direct": false,
"version": "10.7.3",
"ecosystem": "npm"
},
{
"name": "hono",
"direct": false,
"version": "4.12.31",
"ecosystem": "npm"
},
{
"name": "hook-std",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "ignore-walk",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-from-esm",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "import-local",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "import-meta-resolve",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "index-to-position",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "init-package-json",
"direct": false,
"version": "8.2.5",
"ecosystem": "npm"
},
{
"name": "into-stream",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-cidr",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-promise",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "is-text-path",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "issue-parser",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "java-properties",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "jest",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-changed-files",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-circus",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-cli",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-config",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-diff",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-docblock",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-each",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-environment-node",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-haste-map",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-leak-detector",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-matcher-utils",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-message-util",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-mock",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-pnp-resolver",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "jest-regex-util",
"direct": false,
"version": "30.0.1",
"ecosystem": "npm"
},
{
"name": "jest-resolve",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-resolve-dependencies",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-runner",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-runtime",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-snapshot",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-util",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-validate",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-watcher",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "jose",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-better-errors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-typed",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json-stringify-nice",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "jsonparse",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "JSONStream",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "just-diff",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "just-diff-apply",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "libnpmaccess",
"direct": false,
"version": "10.0.3",
"ecosystem": "npm"
},
{
"name": "libnpmdiff",
"direct": false,
"version": "8.1.11",
"ecosystem": "npm"
},
{
"name": "libnpmexec",
"direct": false,
"version": "10.3.1",
"ecosystem": "npm"
},
{
"name": "libnpmfund",
"direct": false,
"version": "7.0.25",
"ecosystem": "npm"
},
{
"name": "libnpmorg",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "libnpmpack",
"direct": false,
"version": "9.1.11",
"ecosystem": "npm"
},
{
"name": "libnpmpublish",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "libnpmsearch",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "libnpmteam",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "libnpmversion",
"direct": false,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "load-json-file",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash-es",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.camelcase",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.capitalize",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "lodash.escaperegexp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lodash.isplainobject",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "lodash.isstring",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "lodash.kebabcase",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "lodash.memoize",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.mergewith",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.snakecase",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "lodash.startcase",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "lodash.uniq",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.uniqby",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "lodash.upperfirst",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "make-error",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "make-fetch-happen",
"direct": false,
"version": "15.0.6",
"ecosystem": "npm"
},
{
"name": "makeerror",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "15.0.12",
"ecosystem": "npm"
},
{
"name": "marked-terminal",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "12.1.1",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "13.2.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.4",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "3.3.6",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "minipass-collect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "minipass-fetch",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "minipass-flush",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "minipass-pipeline",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "minipass-sized",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mkdirp-classic",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "napi-build-utils",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "napi-postinstall",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "nerf-dart",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-abi",
"direct": false,
"version": "3.78.0",
"ecosystem": "npm"
},
{
"name": "node-emoji",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "node-gyp",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "node-int64",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.25",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "npm",
"direct": false,
"version": "11.18.0",
"ecosystem": "npm"
},
{
"name": "npm-audit-report",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "npm-bundled",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "npm-install-checks",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "npm-normalize-package-bin",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "npm-package-arg",
"direct": false,
"version": "13.0.2",
"ecosystem": "npm"
},
{
"name": "npm-packlist",
"direct": false,
"version": "10.0.4",
"ecosystem": "npm"
},
{
"name": "npm-pick-manifest",
"direct": false,
"version": "11.0.3",
"ecosystem": "npm"
},
{
"name": "npm-profile",
"direct": false,
"version": "12.0.2",
"ecosystem": "npm"
},
{
"name": "npm-registry-fetch",
"direct": false,
"version": "19.1.1",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "npm-user-validate",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "p-each-series",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-filter",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-is-promise",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "p-reduce",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "p-reduce",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pacote",
"direct": false,
"version": "21.5.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-conflict-json",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "parse-ms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkce-challenge",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "pkg-conf",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "prebuild-install",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "30.2.0",
"ecosystem": "npm"
},
{
"name": "pretty-ms",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "proc-log",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "proggy",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "promise-all-reject-late",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "promise-call-limit",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "promzard",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "proto-list",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "qrcode-terminal",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.2",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "read",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "read-cmd-shim",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "read-package-up",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "read-package-up",
"direct": false,
"version": "12.0.0",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "registry-auth-token",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve-cwd",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "router",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "semantic-release",
"direct": false,
"version": "25.0.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.3",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "semver-diff",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "semver-regex",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "signale",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "sigstore",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "simple-concat",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "simple-get",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "skin-tone",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "8.0.5",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.13",
"ecosystem": "npm"
},
{
"name": "spawn-error-forwarder",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.22",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "split2",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "split2",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "ssri",
"direct": false,
"version": "13.0.1",
"ecosystem": "npm"
},
{
"name": "stack-utils",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "stream-combiner2",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "string-length",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "super-regex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "10.2.2",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-hyperlinks",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.11.11",
"ecosystem": "npm"
},
{
"name": "tagged-tag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "7.5.19",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "temp-dir",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "tempy",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "text-extensions",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "through2",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "time-span",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "tiny-relative-date",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.15",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tmpl",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "traverse",
"direct": false,
"version": "0.6.8",
"ecosystem": "npm"
},
{
"name": "treeverse",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "ts-jest",
"direct": false,
"version": "29.4.5",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tuf-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "tunnel-agent",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "2.19.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "5.4.1",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.19.3",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.24.1",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.27.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.24.6",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.14.0",
"ecosystem": "npm"
},
{
"name": "unicode-emoji-modifier-base",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "unique-string",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "universal-user-agent",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "unrs-resolver",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "url-join",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "v8-to-istanbul",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-name",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "walk-up-path",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "walker",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wordwrap",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "xtend",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "16.2.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "zod-to-json-schema",
"direct": false,
"version": "3.25.2",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 935,
"direct_count": 18,
"indirect_count": 917
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 166,
"open_issues": 1,
"closed_ratio": 0.929,
"closed_issues": 13,
"closed_unmerged_prs": 21
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "ooples",
"commits": 337,
"avatar_url": "https://avatars.githubusercontent.com/u/3075685?v=4"
},
{
"type": "User",
"login": "franklinic",
"commits": 30,
"avatar_url": "https://avatars.githubusercontent.com/u/210415973?v=4"
},
{
"type": "User",
"login": "nilhemdot",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/262599666?v=4"
},
{
"type": "User",
"login": "deadczarvc",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/34755036?v=4"
}
],
"contributors_sampled": 4,
"top_contributor_share": 0.913
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"codex-autofix.yml",
"commitlint.yml",
"hol-plugin-scanner.yml",
"quality-gates.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [
".eslintrc.json",
"eslint.config.js"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 5,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 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": 2,
"reason": "Found 4/19 approved changesets -- score normalized to 2",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 3,
"reason": "project has 1 contributing companies or organizations -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 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 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 4,
"reason": "dependency not pinned by hash detected -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 4,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "14 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "242b49baa1a6b25c255e377f323add0c9504a070",
"ran_at": "2026-07-29T20:25:53Z",
"aggregate_score": 5.9,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-29T16:02:25Z",
"oldest_open_prs": [
{
"number": 202,
"created_at": "2026-07-29T15:57:34Z",
"last_comment_at": "2026-07-29T15:59:36Z",
"last_comment_author": "github-actions"
}
],
"last_merged_pr_at": "2026-07-29T15:56:32Z",
"ci_last_conclusion": "SKIPPED",
"oldest_open_issues": [
{
"number": 201,
"created_at": "2026-07-28T22:28:29Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/ooples/token-optimizer-mcp",
"host": "github.com",
"name": "token-optimizer-mcp",
"owner": "ooples"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": "High-Risk Jurisdiction Policy applies a 50% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "jurisdiction_overall_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 34,
"inputs": {
"security": 44,
"vitality": 83,
"community": 65,
"governance": 61,
"engineering": 84,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"weighted_overall_before_jurisdiction": 68,
"overall_after_jurisdiction_multiplier": 34
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 83,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"commits_last_year": 400,
"human_commit_share": 0.67,
"days_since_last_push": 0,
"active_weeks_last_year": 10
},
"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": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "400 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 400
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 36,
"latest_release_tag": "v5.2.0",
"releases_from_tags": false,
"days_since_latest_release": 8,
"mean_days_between_releases": 29.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "36 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 36
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 8 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 8
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~29.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 29.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 8,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 8 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 8
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 65,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"forks": 49,
"stars": 454,
"watchers": 6,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "454 stars",
"points": 43.1,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 454
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "49 forks",
"points": 14,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 49
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "6 watchers",
"points": 3.9,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 6
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"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 (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"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": "moderate",
"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": 56,
"inputs": {
"packages": [
"@ooples/token-optimizer-mcp"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 2292
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "2,292 downloads/month across npm",
"points": 44.8,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 2292,
"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": 61,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 19,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 4,
"top_contributor_share": 0.913
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 91% of commits",
"points": 2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 91
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "4 contributors",
"points": 5.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 4
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"merged_prs": 166,
"open_issues": 1,
"closed_issues": 13,
"issue_closed_ratio": 0.929,
"closed_unmerged_prs": 21
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "93% of issues closed",
"points": 43.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 93
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "166/187 decided PRs merged",
"points": 34,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 166,
"decided": 187
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 4/19 approved changesets -- score normalized to 2",
"points": 3,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"followers": 112,
"owner_type": "User",
"is_verified": null,
"owner_login": "ooples",
"public_repos": 34,
"account_age_days": 4970
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "112 followers of ooples",
"points": 14.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 112,
"login": "ooples"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "34 public repos, account ~13 yr old",
"points": 23.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 34
}
},
{
"code": "account_age_years",
"params": {
"years": 13
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@ooples/token-optimizer-mcp"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 8
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 8 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 8
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "19 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 19
}
}
],
"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": "good",
"name": "Engineering Quality",
"value": 84,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".eslintrc.json, eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json, eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "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": 85,
"inputs": {
"topics": [
"ai",
"caching",
"claude",
"compression",
"llm",
"mcp",
"mcp-server",
"token-optimization",
"gemini-cli-extension"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "9 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 9
}
}
],
"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": "at_risk",
"name": "Security",
"value": 44,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 50% multiplier to Security posture and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "jurisdiction_posture_adjustment",
"params": {
"cap": 49,
"pct": 50
}
}
],
"value": 30,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.9,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 50,
"security_posture_after_multiplier": 30,
"security_posture_before_jurisdiction": 59
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 3.8,
"status": "partial",
"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 4/19 approved changesets -- score normalized to 2",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 1 contributing companies or organizations -- score normalized to 3",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "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 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 4",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "14 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@ooples/token-optimizer-mcp@5.2.0 runtime dependency closure — what installing the published package pulls in — 146 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@ooples/token-optimizer-mcp@5.2.0",
"assessed": 146
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 146,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 146,
"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": "moderate",
"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": 50,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": true,
"exposures": [
{
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 4
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "Russia: top_contributor (1)",
"points": 50,
"status": "partial",
"details": [
{
"code": "jurisdiction_exposure",
"params": {
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 80,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [
"GEMINI.md",
"integrations/AGENTS.md",
"integrations/gemini/GEMINI.md"
],
"agent_instruction_max_bytes": 1592
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "GEMINI.md, integrations/AGENTS.md, integrations/gemini/GEMINI.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "GEMINI.md, integrations/AGENTS.md, integrations/gemini/GEMINI.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "67 of 67 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 67,
"sampled": 67
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"tsconfig.json"
],
"agent_commit_share": 0.5,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0.28
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".eslintrc.json, eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc.json, eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "50 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 50,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "28 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 28,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 4",
"points": 4,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 99,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 74148,
"source_files_sampled": 226,
"oversized_source_files": 3
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "3/226 source files over 60KB",
"points": 54.3,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 226,
"oversized": 3
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-29T20:26:15.052070Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/o/ooples/token-optimizer-mcp.svg",
"full_name": "ooples/token-optimizer-mcp",
"license_state": "standard",
"license_spdx": "MIT"
}