Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"fetch",
"http-client",
"rest",
"typescript"
],
"is_fork": false,
"size_kb": 286,
"has_wiki": false,
"homepage": null,
"languages": {
"JavaScript": 8571,
"TypeScript": 93241
},
"pushed_at": "2026-07-22T07:17:07Z",
"created_at": "2026-07-04T03:22:22Z",
"owner_type": "User",
"updated_at": "2026-07-22T07:15:16Z",
"description": "Small, zero-dependency universal fetch wrapper for TypeScript with typed result envelopes",
"is_archived": false,
"is_disabled": false,
"license_spdx": "GPL-3.0",
"default_branch": "main",
"license_spdx_raw": "GPL-3.0",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": null,
"name": "Christopher Plieger",
"type": "User",
"login": "cplieger",
"company": null,
"location": "France",
"followers": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/917744?v=4",
"created_at": "2011-07-15T13:48:36Z",
"is_verified": null,
"public_repos": 50,
"account_age_days": 5485
},
"license": {
"state": "standard",
"spdx_id": "GPL-3.0",
"raw_spdx": "GPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.1.0",
"kind": "minor",
"published_at": "2026-07-17T10:35:08Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2026-07-16T16:15:19Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2026-07-15T00:10:54Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2026-07-13T12:30:24Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2026-07-09T22:50:34Z"
},
{
"tag": "v1.1.0",
"kind": "minor",
"published_at": "2026-07-05T21:54:11Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2026-07-04T21:39:01Z"
}
],
"recent_commits": [
{
"oid": "7888e3cba8865b55f8c3e5da958d27331c14f9ce",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to e548ff0 (#110)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T07:13:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6079d61aebd1c058ba46991f484614f39acae21",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#109)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T07:10:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15b0f52c5c0a9e874a345ab9d35995912ce58875",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#107)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T06:07:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6572cd09e01fa213874324cadf37844c11f2879b",
"body": null,
"is_bot": false,
"headline": "chore(deps): update github/codeql-action action to v4.37.3 (#108)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T06:07:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0f376d6456cb670dc25ca3e0582009ee2295b54",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to faa39be (#105)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T00:08:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81c55f932373d4d383c839c500c31a24cfdfd82b",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#106)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-22T00:08:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac82efe1ed0c1fc3f0c88107e5eb1e02c96fd9be",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#104)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T19:28:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "90ecbd800be5c7b49b60e0b2da48940c2b6969c5",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 843f516 (#103)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T19:16:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "492f97c2a33cc50da37ca0e06cbce7b04407f29d",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#102)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T19:09:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59b20beb60d7ee2c57c0e5dee12e56716587bad0",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency happy-dom to v20.11.0 (#101)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T18:05:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d67dd95ef5c9c50f0b38c2c80cb26e9b650e04c2",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 0955021 (#100)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T16:12:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61b1064f9b52383c83bbfbaa0e9a032aba109b7a",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#99)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T16:10:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4d5e9b26f7f3db0b3406a968b63503be14e11a2",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 9865242 (#97)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T15:13:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "09ff15ed5cda58b1e41a67daacfa2936cfdfd256",
"body": null,
"is_bot": false,
"headline": "chore(deps): update github/codeql-action action to v4.37.2 (#98)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T15:13:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1303332e66075d446521d65efdcf34d8f8483504",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#96)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-21T15:11:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b19e660f09f6a49b359381aa832d41b0f22082ec",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 8710ca7 (#95)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T17:08:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11eabb64ec863bdd6070fdadbbc5933eeaedda6a",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#94)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T17:08:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1627f27ae160ecf1c720588a6c418b4a86dbaac0",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#93)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T16:08:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75fad983a9f8d116c913b358a3b6ae4342fb272e",
"body": null,
"is_bot": false,
"headline": "chore(deps): update actions/checkout action to v7.0.1 (#92)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T16:07:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "131ae0e8a44599d8c78e25afac7714b3412359d0",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 8723bb4 (#91)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T02:18:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0fa0cfac20ee736a237d622c05c0939a0a5c4cd2",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#90)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-20T02:10:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "be4ec100c2deb8e70e6798a8deffdbe101daf022",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#89)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-19T22:42:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9ff3eacd22a1b452a00d6278ae68bf50c71a764",
"body": null,
"is_bot": false,
"headline": "chore(deps): lock file maintenance",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-19T22:16:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8d4833998920f74810205c1bc47c85619d93d50",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to c3bc185 (#87)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-19T21:57:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e78f306dc097972b94e205e0805236a4c973bcc5",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#86)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-19T21:52:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9bdca2bf813e975f24beb0af01c6703b15f4b8e9",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#85)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T17:14:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b741e83764045d59eec9c3719c6a02d026bf1f2",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 76744d1 (#84)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T17:10:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7487a0b9c8d77c6705784571138481b8be9d885",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 3be3665 (#83)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T11:10:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91bb219814eab7469dcac8c87121b057300e1243",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#82)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T11:09:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "caafb51dd623c0004eb7b8fd360de779e8d2a13b",
"body": null,
"is_bot": false,
"headline": "chore: override vulnerable qs development dependency",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T10:54:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e64229f7e7fa21877ce7ff1b61539b9b5241d954",
"body": null,
"is_bot": false,
"headline": "chore: realign README table formatting",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T10:34:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3bbfbe855d2b206a3882f6e123994b6f77847fec",
"body": "A rawBody is sent as-is — no JSON encoding, no automatic Content-Type\n(the caller sets one via headers) — so non-JSON request payloads like a\nYAML config document ride the envelope instead of forcing a raw fetch.\nMutually exclusive with body (both set fails client-side as invalid).\nThe response side is unchanged: replies still decode through the JSON\nenvelope.",
"is_bot": false,
"headline": "feat: accept pre-encoded request bodies via RequestOptions.rawBody",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T10:34:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ea8f2d61cfbb7a3036244179b4b93ee871c0b6d",
"body": "A non-2xx response (or a 2xx decoder mismatch) with parseable JSON now\nrides its parsed body on the error envelope, so callers can consume a\nmeaningful error payload (e.g. a 409 conflict envelope) without leaving\nthe result union. Absent on non-JSON/empty bodies and no-response\nfailures, matching the ApiErr.headers contract.",
"is_bot": false,
"headline": "feat: carry the parsed JSON error body on ApiErr.body",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-17T10:34:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e221e187854a6a2af8936f624a7a53cdcdbe9f3",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency typescript-eslint to v8.64.0 (#79)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T17:41:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c02f1924fb3a798fd9e9883ef11fbfe4b3878707",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to cf43aba (#78)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T17:11:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdc78887c5dea1096cf21d9838c10870c417787f",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#77)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T17:09:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b46bb68c9fe2c2b81bac66e188cdc52cfb92bb04",
"body": "…surface",
"is_bot": false,
"headline": "docs: align contributing guide and readme with the v2 instances-only …",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T16:08:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1642dce0c581a4b3e1d1433ede7198fa57374ad7",
"body": null,
"is_bot": false,
"headline": "docs: record declined reject-path alternative in the path contract",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T16:08:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7418e2cfba2a359b67627f830dd2296848fd2777",
"body": "BREAKING CHANGE: the module-global config surface (configureFetch,\nresetFetchConfig, getFetchConfig, and the 14 top-level request/verb\nexports) and FetchInstance.configure are removed. createFetch(config) is\nthe only configuration surface; config is shallow-copied and frozen at\nconstruction, so a ch\n[…]\nb helpers, path contract, timeout composition, and\ndecoder seam are unchanged. Implements the judgement-run P1 disposition\n(instances-only, stricter immutable variant) plus the debate's side\nfindings.",
"is_bot": false,
"headline": "feat!: instances-only immutable config, error headers, ignoreBody",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T16:08:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "13b5bcdd689803b5eaa33a3aa6de39e0e3f0d510",
"body": null,
"is_bot": false,
"headline": "chore(deps): update github/codeql-action action to v4.37.1 (#75)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T15:57:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00b33c3fc9ed761b1b7fba309377b5b839165d11",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to cf1e0e4 (#74)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T15:57:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dd7cb827acc3217771697523acc615920092c3fe",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#73)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T15:53:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df071255ad22123ac62ce6f52a2cfd73bc225ea3",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to fc9b948 (#72)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T14:13:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbf898765b76346f14ae13a8f7194c08e6950cba",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#71)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T14:12:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bd2c9c05b7deb8f42dd8d3893abc48f568afc64",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#70)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-16T10:19:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6644e5776dbfa205c5a2fbde8e784962ae278bf1",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#69)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T22:52:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de428641f466cbafbb01194fbd3016a5967a0b8f",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#67)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T22:08:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85556548545ad5dc89477bf114b533875fc264d1",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to b13ecc6 (#68)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T22:08:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "609cd283a09340edd09e02b87e7d1b5ef350c694",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to f89344b (#65)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T19:07:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c3634664d848ad2977a639387d011e82d2242c1",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#66)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T19:07:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f93d487e9d6a2a6fd60ba44b8961a932a1ce658",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 56ce230 (#64)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T18:09:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41fc1bc9044822b78b30d9be46f52894014e9dc2",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#63)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T18:07:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a21e12b5b5f85151b1c1d46a7daacaa1301c83ba",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#62)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T17:47:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "10e1956a5b5447b8d45fb8d40138649adcf21585",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#60)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T11:10:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c017ec64128d3eea590f09e025febdf5e5b7d628",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 886c5ed (#61)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T11:09:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c6aebf4fdfd1cf651b98d2ddcba401895bf8e48",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 65ecf0f (#59)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T02:11:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e03983cb714fb0574dc6a13e853f31e007766263",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#58)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T02:10:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3efe95d8f0ddc31f0ffbe66af324ddcd4aac578a",
"body": "Points at the mutation-ts.json endpoint on the badges branch, published\nby the weekly Stryker workflow; renders once the first run completes.",
"is_bot": false,
"headline": "docs: add the mutation-score badge to the README",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T00:10:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d68a4cf1fa858f7d73c1e81e6b72376709499497",
"body": "Adds @stryker-mutator/core, typescript-checker, and vitest-runner as\ndevDependencies with a stryker.config.json wired to the vitest suite,\nand gitignores the reports/ and .stryker-tmp/ artifacts. Feeds the\nweekly mutation-score workflow; no shipped code changes.",
"is_bot": false,
"headline": "test: add Stryker mutation-testing setup",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-15T00:10:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66e19d141eba1a7d732861255df2ffa55fcb4de9",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 0f9e6bd (#56)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T16:10:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6646a506e2cf94aade62b6a102f760ac50a4a58",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#55)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T16:10:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f1fe8d564117a56f48bb821ffba65a22889f25e",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 74a95dd (#54)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T15:09:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20544fafc5046d2432fe546ea6e2e87b5d14f729",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#53)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T15:07:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86a19d5475ece4900c5fcfadcf77e8b76c195f91",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to fede411 (#52)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T14:12:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "617882dd1f3ecf9c19882552c26a2905718d2a1b",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#51)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T14:10:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc8a9489f3ac4b25594f184fc434cda185e21949",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to d521339 (#50)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T13:10:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faecc72001e0c1a1ea587577025d169c3cc8c9dc",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#49)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T13:07:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7266903a9a7965806e49c027f0b9054e97e9533",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 032f008 (#48)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T12:09:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "748fd95f3ac05a853339fc7bca860202773cfc2d",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#47)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T12:08:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31d40f5207de1d332f6beeb64269eb385b2e5bb7",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to dfdd802 (#46)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T11:11:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e73e079337a4f044076acfd8046ba7daa37f76f",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#45)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T11:10:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21b1713a914998dc70f260ad2b2a52a40dcba343",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#44)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T10:32:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a397a5e2a81d7bcde2a344b1f75eaa5c39179cb",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to f6ff601 (#43)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T04:08:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78962b2b04553b3155e717a50e7d9e2aeab94dd4",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#42)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-14T04:06:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "477aba8d9e7ef540df73be5c35f4efb25029b017",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency eslint to v10.7.0 (#41)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-13T22:03:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f238287066e83a3d5423eefdc0ee09e054630f12",
"body": "Introduce an internal buildInstance(store) as the single assembly site\n(makeRequestRaw -> makeRequest -> makeVerbs + configure) shared by createFetch and\nthe module-global default surface. The default requestRaw/request and the 12 verb\nhelpers now originate in instance.ts (bound to the shared defaul\n[…]\ne public API is byte-compatible and all tests are unchanged\nexcept for their import source. Also adds a package.json format:check script and\nreconciles the CONTRIBUTING module map with the new layout.",
"is_bot": false,
"headline": "refactor: centralize fetch-instance assembly in buildInstance",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-13T12:29:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6de6a9b74ac9d76b7660e3f4436e2e5ac527e966",
"body": "…tile input\n\nTwo hostile-input hardening fixes to the request core, plus the tests that pin them:\n\n- safeSuffix now percent-encodes ASCII TAB/LF/CR in the path part. The WHATWG URL\n parser strips those before path normalization, so a crafted relative path (e.g.\n `/\\t../admin`) could fuse a dot-seg\n[…]\nit as \"unknown error\".\n\nAdds control-char containment cases, a generator-based URL-containment property,\nmaxResponseBytes boundary and null-body coverage, and a throwing-signal-getter\nregression test.",
"is_bot": false,
"headline": "sec: harden path containment and the never-throw envelope against hos…",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-13T12:29:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7678dd5898c87504240c05c829c50a4a41949488",
"body": null,
"is_bot": false,
"headline": "chore(deps): lock file maintenance (#39)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-12T22:03:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9057bda698f6f91cb19ec401da1c91cf54b79bec",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency prettier to v3.9.5 (#38)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-12T17:04:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1eae21bbad8b23068baec96ebc8a0d00115a0b1c",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency fast-check to v4.9.0 (#37)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-11T22:04:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4f6f4bc45ccc81a5663b89925a87042dd7464ca",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency @types/node to v24.13.3 (#36)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-11T07:03:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "861d860a823e465fdbb0210d7107ef5c3f56fae3",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 0b9a003 (#35)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-10T18:10:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "790c11fb65ce5dabf500e19e4aa4c323e3915f31",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#34)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-10T18:06:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8b642ed91e001bb7a7e90ee266aa9c16d28577b4",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 696eb4c (#33)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-10T00:11:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8234bbd2fc7fcc96a70c156fcb6018ef1d9af0f",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#32)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-10T00:09:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0d3b3db7dbf4feb242c988023ff03e65feb21c46",
"body": "Pin the native TS7 compiler as @typescript/native (npm:typescript@7.0.2, owns node_modules/.bin/tsc) and add typescript as the @typescript/typescript6@6.0.2 alias for typescript-eslint's TS6 API (ships tsc6). Typecheck scripts call tsc directly; CONTRIBUTING updated.",
"is_bot": false,
"headline": "chore(devdeps): adopt stable TypeScript 7 via @typescript/native alias",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T22:49:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd452e6ffaf63f81fe2ff91376a5a762f6ebaa46",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 9bcea59 (#30)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T22:09:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df48d354240c83227fa009490df758dd2aaa0169",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#29)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T22:08:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "591c5100d9190b5054ca4dab7fb75d3429ef44d3",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 7230bd6 (#28)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T21:11:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8811d24ee790d48dde0a0639038307978a06b55",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#27)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T21:08:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fed48ea09f9f6d61aa47a9ffb9c04e7a548d509c",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#25)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T19:07:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4787a54fa1b1566e0b392ac1a2a1ef88ca6cbe25",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 33c2c63 (#26)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T19:06:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "add711ac3ae4d59084e8dea4e48d08e09cad25a5",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update dependency typescript-eslint to v8.63.0 (#24)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T18:04:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aaa2b17ea00461183e3b74a5eca6ddf830dc7752",
"body": null,
"is_bot": false,
"headline": "chore(devdeps): update vitest monorepo to v4.1.10 (#23)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T08:05:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "add5963bd864ea98adf1cf41bc3d15c0e309c3d6",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 1b09083 (#22)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T05:09:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a51e490d27b5f91617b0578d510534acb137caed",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#21)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T05:05:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d1badcc4e7b361e6e2e63174f85ac33b107c2ff5",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to beb1451 (#20)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T00:58:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24562de950842cbab4f52cc3a1f0065a5d159d7d",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#19)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T00:55:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b790811168852d187527c90166fc8e63223ba632",
"body": "* chore(sync): synced local '.github/workflows/ci.yaml' with remote '.github/workflow-templates/ci.yml'\n\n* chore(sync): synced local '.github/workflows/codeql.yml' with remote '.github/workflow-templates/codeql.yml'\n\n* chore(sync): synced local '.github/workflows/security.yml' with remote '.github/w\n[…]\n'.github/workflow-templates/coverage.yml'\n\n* chore(sync): synced local '.github/workflows/release.yaml' with remote '.github/workflow-templates/release.yml'\n\n---------\n\nCo-authored-by: cplieger <null>",
"is_bot": false,
"headline": "chore(sync): synced file(s) with cplieger/ci (#18)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T00:08:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cda3f08d72778df6e57557b4a64f8e55af07a728",
"body": null,
"is_bot": false,
"headline": "chore(deps): update cplieger/ci digest to 041a6c6 (#17)",
"author_name": "Christopher Plieger",
"author_login": "cplieger",
"committed_at": "2026-07-09T00:06:59Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 7,
"commits_last_year": 113,
"latest_release_at": "2026-07-17T10:35:08Z",
"latest_release_tag": "v2.1.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 3,
"days_since_latest_release": 4,
"mean_days_between_releases": 2.1
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "@cplieger/fetch",
"exists": true,
"license": "GPL-3.0-or-later",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@cplieger/fetch",
"is_deprecated": false,
"latest_version": "2.1.0",
"repository_url": "https://github.com/cplieger/fetch",
"versions_count": 7,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2928,
"first_published_at": "2026-07-04T21:33:13.570000Z",
"latest_published_at": "2026-07-17T10:34:51.143000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 4
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0
},
"open_issues_and_prs": 1
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 27633,
"source_files_sampled": 17,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 351,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-annotate-as-pure",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-class-features-plugin",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-member-expression-to-functions",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-optimise-call-expression",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-proposal-decorators",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-decorators",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/preset-typescript",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.23.5",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@inquirer/ansi",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@inquirer/checkbox",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/confirm",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/core",
"direct": false,
"version": "11.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/editor",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/expand",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/external-editor",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@inquirer/figures",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@inquirer/input",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/number",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/password",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/prompts",
"direct": false,
"version": "8.5.2",
"ecosystem": "npm"
},
{
"name": "@inquirer/rawlist",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/search",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/select",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "@inquirer/type",
"direct": false,
"version": "4.0.7",
"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": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.139.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@sec-ant/readable-stream",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@standard-schema/spec",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/api",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/core",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/instrumenter",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/typescript-checker",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/util",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/vitest-runner",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/esrecurse",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.13.3",
"ecosystem": "npm"
},
{
"name": "@types/whatwg-mimetype",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/ws",
"direct": false,
"version": "8.18.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-aix-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-loong64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-mips64el",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-riscv64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-s390x",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-sunos-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript6",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-v8",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "angular-html-parser",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ast-v8-to-istanbul",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.43",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.6",
"ecosystem": "npm"
},
{
"name": "buffer-image-size",
"direct": false,
"version": "0.6.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": "caniuse-lite",
"direct": false,
"version": "1.0.30001806",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "14.0.3",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "des.js",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "diff-match-patch",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.393",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "10.7.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "9.1.2",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "fast-check",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.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-string-truncated-width",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "fast-string-width",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "fast-wrap-ansi",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.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": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "20.11.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.4",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "is-unicode-supported",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "js-md4",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-rpc-2.0",
"direct": false,
"version": "1.7.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.groupby",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "magicast",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mutation-server-protocol",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "mutation-testing-elements",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mutation-testing-metrics",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mutation-testing-report-schema",
"direct": false,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.51",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "parse-ms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.20",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.9.5",
"ecosystem": "npm"
},
{
"name": "pretty-ms",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "8.4.2",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.3",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "typed-inject",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "typed-rest-client",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.2",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.10",
"ecosystem": "npm"
},
{
"name": "weapon-regex",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 351,
"direct_count": 0,
"indirect_count": 351
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 109,
"open_issues": 1,
"closed_ratio": 0,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "cplieger",
"commits": 119,
"avatar_url": "https://avatars.githubusercontent.com/u/917744?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yaml",
"codeql.yml",
"coverage.yml",
"release.yaml",
"scorecard.yml",
"security.yml"
],
"has_docs_dir": false,
"linter_configs": [
"eslint.config.mjs"
],
"has_editorconfig": true,
"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": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "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": 5,
"reason": "badge detected: Passing",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": 10,
"reason": "project is fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 10,
"reason": "all dependencies are pinned",
"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": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "7888e3cba8865b55f8c3e5da958d27331c14f9ce",
"ran_at": "2026-07-22T09:41:54Z",
"aggregate_score": 7.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T07:25:53Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-22T07:13:41Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 1,
"created_at": "2026-07-04T04:01:44Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/cplieger/fetch",
"host": "github.com",
"name": "fetch",
"owner": "cplieger"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 63,
"inputs": {
"security": 82,
"vitality": 74,
"community": 47,
"governance": 44,
"engineering": 74
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 74,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 56,
"inputs": {
"commits_last_year": 113,
"human_commit_share": 1,
"days_since_last_push": 0,
"active_weeks_last_year": 3
},
"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": "3/52 weeks with commits",
"points": 2.1,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 3
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "113 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 113
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"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": 7,
"latest_release_tag": "v2.1.0",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 2.1
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "7 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 7
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~2.1 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 2.1
}
}
],
"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": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 47,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (GPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "GPL-3.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "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": 58,
"inputs": {
"packages": [
"@cplieger/fetch"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 2928
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "2,928 downloads/month across npm",
"points": 46.2,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 2928,
"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": "at_risk",
"name": "Sustainability & Governance",
"value": 44,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "at_risk",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"merged_prs": 109,
"open_issues": 1,
"closed_issues": 0,
"issue_closed_ratio": 0,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "0% of issues closed",
"points": 0,
"status": "missed",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 0
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "109/109 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 109,
"decided": 109
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"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": 47,
"inputs": {
"followers": 2,
"owner_type": "User",
"is_verified": null,
"owner_login": "cplieger",
"public_repos": 50,
"account_age_days": 5485
},
"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": "2 followers of cplieger",
"points": 3.4,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 2,
"login": "cplieger"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "50 public repos, account ~15 yr old",
"points": 24.4,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 50
}
},
{
"code": "account_age_years",
"params": {
"years": 15
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@cplieger/fetch"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 4
},
"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 4 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 4
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "7 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 7
}
}
],
"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": 74,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"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": "eslint.config.mjs",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.mjs"
}
}
],
"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": 6.4,
"status": "met",
"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": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [
"fetch",
"http-client",
"rest",
"typescript"
],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"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": 0,
"status": "missed",
"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": "4 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 4
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 82,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 78,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 7.8
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "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": "badge detected: Passing",
"points": 1.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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 fuzzed",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 5,
"status": "met",
"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": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 351 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 351
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 351,
"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": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 351,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 2
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 62,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 64,
"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,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.mjs",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.mjs"
}
}
],
"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": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "all dependencies are pinned",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 27633,
"source_files_sampled": 17,
"oversized_source_files": 0
},
"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": "0/17 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 17,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"deps.dev does not index npm:@cplieger/fetch@2.1.0; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T09:42:09.628805Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/c/cplieger/fetch.svg",
"full_name": "cplieger/fetch",
"license_state": "standard",
"license_spdx": "GPL-3.0"
}