原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 1877,
"has_wiki": true,
"homepage": null,
"languages": {
"CSS": 28696,
"Vue": 469311,
"HTML": 2513,
"Astro": 13484,
"JavaScript": 214270,
"TypeScript": 774697
},
"pushed_at": "2026-07-19T14:06:39Z",
"created_at": "2026-04-30T03:53:04Z",
"owner_type": "Organization",
"updated_at": "2026-07-19T14:06:40Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": null,
"default_branch": "main",
"license_spdx_raw": null,
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript",
"Vue",
"JavaScript"
]
},
"owner": {
"blog": "https://www.glossarist.org",
"name": "Glossarist",
"type": "Organization",
"login": "glossarist",
"company": null,
"location": null,
"followers": 0,
"avatar_url": "https://avatars.githubusercontent.com/u/57227636?v=4",
"created_at": "2019-10-31T15:15:40Z",
"is_verified": null,
"public_repos": 27,
"account_age_days": 2455
},
"license": {
"state": "absent",
"spdx_id": null,
"raw_spdx": null,
"file_present": false,
"scorecard_found": false,
"profile_has_license": false
},
"activity": {
"releases": [
{
"tag": "v0.7.77",
"kind": "patch",
"published_at": "2026-07-17T08:55:40Z"
},
{
"tag": "v0.7.76",
"kind": "patch",
"published_at": "2026-07-17T08:43:13Z"
},
{
"tag": "v0.7.74",
"kind": "patch",
"published_at": "2026-07-16T08:12:56Z"
},
{
"tag": "v0.7.73",
"kind": "patch",
"published_at": "2026-07-16T07:53:47Z"
},
{
"tag": "v0.7.71",
"kind": "patch",
"published_at": "2026-07-16T06:55:56Z"
},
{
"tag": "v0.7.69",
"kind": "patch",
"published_at": "2026-07-08T16:54:03Z"
},
{
"tag": "v0.7.68",
"kind": "patch",
"published_at": "2026-07-08T09:08:15Z"
},
{
"tag": "v0.7.67",
"kind": "patch",
"published_at": "2026-07-06T09:04:27Z"
},
{
"tag": "v0.7.66",
"kind": "patch",
"published_at": "2026-07-05T22:22:53Z"
},
{
"tag": "v0.7.65",
"kind": "patch",
"published_at": "2026-07-05T15:49:15Z"
},
{
"tag": "v0.7.64",
"kind": "patch",
"published_at": "2026-07-05T15:23:08Z"
},
{
"tag": "v0.7.63",
"kind": "patch",
"published_at": "2026-07-05T14:03:42Z"
},
{
"tag": "v0.7.62",
"kind": "patch",
"published_at": "2026-07-05T13:19:15Z"
},
{
"tag": "v0.7.61",
"kind": "patch",
"published_at": "2026-07-05T12:01:09Z"
},
{
"tag": "v0.7.60",
"kind": "patch",
"published_at": "2026-07-05T10:43:27Z"
},
{
"tag": "v0.7.59",
"kind": "patch",
"published_at": "2026-07-05T06:17:41Z"
},
{
"tag": "v0.7.58",
"kind": "patch",
"published_at": "2026-07-05T03:04:15Z"
},
{
"tag": "v0.7.57",
"kind": "patch",
"published_at": "2026-07-05T01:29:43Z"
},
{
"tag": "v0.7.56",
"kind": "patch",
"published_at": "2026-07-05T00:18:19Z"
},
{
"tag": "v0.7.55",
"kind": "patch",
"published_at": "2026-07-04T23:25:27Z"
},
{
"tag": "v0.7.54",
"kind": "patch",
"published_at": "2026-07-04T17:14:30Z"
},
{
"tag": "v0.7.53",
"kind": "patch",
"published_at": "2026-07-04T17:07:38Z"
},
{
"tag": "v0.7.52",
"kind": "patch",
"published_at": "2026-07-04T16:51:16Z"
},
{
"tag": "v0.7.51",
"kind": "patch",
"published_at": "2026-06-22T13:50:52Z"
},
{
"tag": "v0.7.50",
"kind": "patch",
"published_at": "2026-06-22T09:35:17Z"
},
{
"tag": "v0.7.48",
"kind": "patch",
"published_at": "2026-06-22T09:00:32Z"
},
{
"tag": "v0.7.47",
"kind": "patch",
"published_at": "2026-06-20T04:36:03Z"
},
{
"tag": "v0.7.46",
"kind": "patch",
"published_at": "2026-06-19T02:10:40Z"
},
{
"tag": "v0.7.45",
"kind": "patch",
"published_at": "2026-06-18T14:49:14Z"
},
{
"tag": "v0.7.44",
"kind": "patch",
"published_at": "2026-06-16T08:00:06Z"
},
{
"tag": "v0.7.43",
"kind": "patch",
"published_at": "2026-06-16T01:38:20Z"
},
{
"tag": "v0.7.42",
"kind": "patch",
"published_at": "2026-06-15T04:06:12Z"
},
{
"tag": "v0.7.41",
"kind": "patch",
"published_at": "2026-06-14T13:26:34Z"
},
{
"tag": "v0.7.37",
"kind": "patch",
"published_at": "2026-06-13T11:33:11Z"
},
{
"tag": "v0.7.35",
"kind": "patch",
"published_at": "2026-06-10T14:18:53Z"
},
{
"tag": "v0.7.34",
"kind": "patch",
"published_at": "2026-06-10T10:03:39Z"
},
{
"tag": "v0.7.33",
"kind": "patch",
"published_at": "2026-06-09T12:44:14Z"
},
{
"tag": "v0.7.32",
"kind": "patch",
"published_at": "2026-06-09T05:50:38Z"
},
{
"tag": "v0.7.31",
"kind": "patch",
"published_at": "2026-06-09T03:49:47Z"
},
{
"tag": "v0.7.30",
"kind": "patch",
"published_at": "2026-06-09T03:30:24Z"
},
{
"tag": "v0.7.29",
"kind": "patch",
"published_at": "2026-06-08T13:34:34Z"
},
{
"tag": "v0.7.28",
"kind": "patch",
"published_at": "2026-06-08T12:52:13Z"
},
{
"tag": "v0.7.27",
"kind": "patch",
"published_at": "2026-06-07T13:51:43Z"
},
{
"tag": "v0.7.26",
"kind": "patch",
"published_at": "2026-06-07T12:29:38Z"
},
{
"tag": "v0.7.25",
"kind": "patch",
"published_at": "2026-06-07T12:16:37Z"
},
{
"tag": "v0.7.24",
"kind": "patch",
"published_at": "2026-06-06T09:42:24Z"
},
{
"tag": "v0.7.23",
"kind": "patch",
"published_at": "2026-06-06T06:00:24Z"
},
{
"tag": "v0.7.22",
"kind": "patch",
"published_at": "2026-06-05T03:46:46Z"
},
{
"tag": "v0.7.21",
"kind": "patch",
"published_at": "2026-06-05T03:19:47Z"
},
{
"tag": "v0.7.20",
"kind": "patch",
"published_at": "2026-06-05T03:11:42Z"
},
{
"tag": "v0.7.17",
"kind": "patch",
"published_at": "2026-06-04T07:49:34Z"
},
{
"tag": "v0.7.16",
"kind": "patch",
"published_at": "2026-06-04T04:42:25Z"
},
{
"tag": "v0.7.15",
"kind": "patch",
"published_at": "2026-06-04T03:17:47Z"
},
{
"tag": "v0.7.14",
"kind": "patch",
"published_at": "2026-06-03T10:14:31Z"
},
{
"tag": "v0.7.13",
"kind": "patch",
"published_at": "2026-06-03T09:35:46Z"
},
{
"tag": "v0.7.12",
"kind": "patch",
"published_at": "2026-06-03T09:22:21Z"
},
{
"tag": "v0.7.11",
"kind": "patch",
"published_at": "2026-06-03T00:46:28Z"
},
{
"tag": "v0.7.10",
"kind": "patch",
"published_at": "2026-06-03T00:09:21Z"
},
{
"tag": "v0.7.9",
"kind": "patch",
"published_at": "2026-06-02T14:51:16Z"
},
{
"tag": "v0.7.8",
"kind": "patch",
"published_at": "2026-06-02T12:49:01Z"
},
{
"tag": "v0.7.7",
"kind": "patch",
"published_at": "2026-06-01T10:51:53Z"
},
{
"tag": "v0.7.6",
"kind": "patch",
"published_at": "2026-06-01T10:37:55Z"
},
{
"tag": "v0.7.5",
"kind": "patch",
"published_at": "2026-06-01T10:32:33Z"
},
{
"tag": "v0.7.4",
"kind": "patch",
"published_at": "2026-06-01T10:17:55Z"
},
{
"tag": "v0.7.1",
"kind": "patch",
"published_at": "2026-06-01T03:43:15Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-06-01T03:40:10Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-06-01T02:59:19Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2026-06-01T01:35:58Z"
},
{
"tag": "v0.4.18",
"kind": "patch",
"published_at": "2026-06-01T00:55:47Z"
},
{
"tag": "v0.4.17",
"kind": "patch",
"published_at": "2026-05-28T10:51:47Z"
},
{
"tag": "v0.4.15",
"kind": "patch",
"published_at": "2026-05-28T10:22:42Z"
},
{
"tag": "v0.4.14",
"kind": "patch",
"published_at": "2026-05-27T06:25:38Z"
},
{
"tag": "v0.4.12",
"kind": "patch",
"published_at": "2026-05-26T09:53:48Z"
},
{
"tag": "v0.4.11",
"kind": "patch",
"published_at": "2026-05-26T09:20:48Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-05-26T09:04:50Z"
},
{
"tag": "v0.4.9",
"kind": "patch",
"published_at": "2026-05-26T08:49:26Z"
},
{
"tag": "v0.4.8",
"kind": "patch",
"published_at": "2026-05-26T08:34:08Z"
},
{
"tag": "v0.4.7",
"kind": "patch",
"published_at": "2026-05-26T08:13:10Z"
},
{
"tag": "v0.4.6",
"kind": "patch",
"published_at": "2026-05-26T07:37:31Z"
},
{
"tag": "v0.4.5",
"kind": "patch",
"published_at": "2026-05-26T07:05:43Z"
},
{
"tag": "v0.4.4",
"kind": "patch",
"published_at": "2026-05-26T05:52:10Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2026-05-26T05:48:15Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2026-05-26T01:50:28Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2026-05-25T17:13:35Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2026-05-25T15:21:47Z"
},
{
"tag": "v0.3.7",
"kind": "patch",
"published_at": "2026-05-11T04:33:22Z"
},
{
"tag": "v0.3.4",
"kind": "patch",
"published_at": "2026-05-10T10:09:18Z"
},
{
"tag": "v0.3.3",
"kind": "patch",
"published_at": "2026-05-10T08:43:02Z"
},
{
"tag": "v0.3.2",
"kind": "patch",
"published_at": "2026-05-09T08:54:51Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2026-05-09T08:52:47Z"
},
{
"tag": "v0.2.13",
"kind": "patch",
"published_at": "2026-05-09T08:04:17Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2026-05-09T04:57:32Z"
},
{
"tag": "v0.2.11",
"kind": "patch",
"published_at": "2026-05-09T03:09:08Z"
},
{
"tag": "v0.2.10",
"kind": "patch",
"published_at": "2026-05-08T09:14:57Z"
},
{
"tag": "v0.2.9",
"kind": "patch",
"published_at": "2026-05-08T08:37:02Z"
},
{
"tag": "v0.2.8",
"kind": "patch",
"published_at": "2026-05-08T07:38:26Z"
},
{
"tag": "v0.2.7",
"kind": "patch",
"published_at": "2026-05-08T07:26:27Z"
},
{
"tag": "v0.2.6",
"kind": "patch",
"published_at": "2026-05-08T06:40:16Z"
},
{
"tag": "v0.2.5",
"kind": "patch",
"published_at": "2026-05-08T06:11:25Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2026-05-08T04:44:05Z"
}
],
"recent_commits": [
{
"oid": "d42f9191a8ce01400df1ac20c3a8b31a3504c6fa",
"body": "… tests",
"is_bot": false,
"headline": "refactor: extract sphere math utilities to src/utils/sphere-math.ts +…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T14:06:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c56e2bfd436cbce5033cba499674ae625260e89",
"body": "…-bridge.ts bridges",
"is_bot": false,
"headline": "chore: remove stale tracked TODO files, add BRIDGES.md tracking model…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T14:03:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8b8f245859a9b64601d104dd881d0785c8a18add",
"body": "…OCP)",
"is_bot": false,
"headline": "refactor: extract concept loop stats into STATS_PROCESSORS pipeline (…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T14:01:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "070792ad648c013f4a6e8b8bfdbbecaad3e7bd24",
"body": "…terals with buildConceptUri",
"is_bot": false,
"headline": "refactor: centralize URI construction — replace 18 inline template li…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T13:58:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac6cc2a258f798c2f1b03f0cbd8af4ad65ca84d4",
"body": "…ions in hyperedge contribution",
"is_bot": false,
"headline": "fix: consolidate ref serializer and resolveRefUri — remove DRY violat…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T13:53:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4cd6d503bbb3bf16e0f08f45925c9210c8535e22",
"body": "0.7.77 introduced an Astro build path. Unlike the prior Vite SPA path\n(which used vite.config.ts with outDir: resolve(cwd, 'dist')), the\nAstro config did not override outDir — so Astro defaulted to\n<root>/dist/, which is the package's own dist/ inside node_modules/.\n\nThis caused consumer builds to f\n[…]\necause the\nbuild wrote everything to node_modules/@glossarist/concept-browser/dist/.\n\nFix: set outDir to resolve(process.cwd(), 'dist') in astro.config.mjs,\nmatching the existing publicDir convention.",
"is_bot": false,
"headline": "fix(build): write output to consumer cwd/dist, not package dist",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-19T13:51:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ffa3eb1ef93eaad87b8f2deee61be74c3d2b31f0",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.77",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-17T08:54:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77ae052def9a33a9bf6a85fd205598fd474f60d4",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 0.7.76",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-17T08:53:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "390485260abddc7f6d8a5b8245c18d87f13b1a27",
"body": "Adds: stats.json with source breakdown + relationship types. Sources page at /dataset/{id}/sources listing concepts per source. Enhanced stats page with relationship type bars and source table. Overview chips for source count and relationship count.",
"is_bot": false,
"headline": "feat: dataset sources page, relationship/source stats, overview chips",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-17T08:52:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fb6dcf42e5b02c093c6ccade236e368dc589ed5",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.76",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-17T08:41:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8cfc0cf593a8004d7c9caa7b17d0323bf04b8412",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 0.7.75",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-17T08:40:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0a4dcc9a20f51446b9cacb5f98b5b0d53699190",
"body": null,
"is_bot": false,
"headline": "docs: rewrite README — simple setup, deploy, and config reference",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T11:45:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4d0b7ac91880649fb8c5544d7a776ae3fbad438",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.74",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-16T08:11:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e83477ba24aaaad9cc860dc76fb60674eef21a4f",
"body": null,
"is_bot": false,
"headline": "merge: origin main (v0.7.73) + tailwind deps fix",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T08:10:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d46843cbdc8030e0244cbdc4d85108f6a6954af5",
"body": "…t runtime)",
"is_bot": false,
"headline": "fix: move @tailwindcss/vite and tailwindcss to dependencies (needed a…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T07:59:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3df32d4d8057bae64a1a16ad8ad9da7886de330",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.73",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-16T07:52:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f22b49c14ab6006ad5ab65499f04067d3a48bc62",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 0.7.72",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T07:51:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75104f1f63d38b6c7a183c6572e42bdc6cc8f2db",
"body": "…ect-free\n\nThe bridge script previously wrote content collections into PKG_ROOT/src/content/ (the npm package's own source). This mutated the installed package at runtime. Now ALL output goes to process.cwd()/.cb-content/ — the package is read-only.",
"is_bot": false,
"headline": "fix: bridge writes to consumer .cb-content/ — package is now side-eff…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T07:51:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b806b9372d958a56844fdb566c6aa4ea1e94af4e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.71",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-16T06:54:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0cd56407c17d2f2fc0a5e50b9a76a4a50a57cd3",
"body": null,
"is_bot": false,
"headline": "fix: exclude e2e/ from vitest (Playwright tests run separately)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T06:53:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bbee4d1e6c88f727303c03abc7312409f4795f07",
"body": "…meouts)",
"is_bot": false,
"headline": "fix: update smoke tests for SPA hydration (waitUntil networkidle + ti…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T06:50:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e1c258df41743db2a4705c01a49705b664eae8b",
"body": null,
"is_bot": false,
"headline": "fix: resolve remaining conflict markers in model-bridge.ts",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T06:47:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4402d0778345dbfb54c0405a64f24db3c6821a26",
"body": null,
"is_bot": false,
"headline": "chore: bump version to 0.7.70",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T06:44:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0458883d8f23bf694ca0acd576450596c64b6ce7",
"body": "…n fixes\n\nArchitecture:\n- Astro 7 with Vue islands (client:only) for SPA navigation\n- SSG pages for SEO with SPA fallback (404.astro + catch-all routes)\n- Tailwind 4 via @tailwindcss/vite with full design system port\n- astro.config.mjs: publicDir resolves from CWD, root from package\n\nPackage hygiene\n[…]\n Dark mode: CSS variable overrides + explicit prose link colors\n- AppHeader/AppFooter: new URL() pattern for reliable asset loading\n- Default.astro: comprehensive favicon links with dynamic site title",
"is_bot": false,
"headline": "feat: Astro 7 SPA + SSG architecture with Tailwind 4 and cross-editio…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-16T06:43:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "74fca8ae3e0659e7cfa6ba9571d55277c293f287",
"body": "Add sourced_from support to the model bridge (JSON-LD mapping,\nattachSourcedFromToSources helper, attachBridges integration),\nTypeScript augmentation, CitationDisplay rendering for per-language,\nconcept-level, designation-level, and standalone language page sources.\nAdd i18n strings (eng + fra).",
"is_bot": false,
"headline": "feat: display sourced_from provenance chains on concept sources",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-15T11:33:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "090d0ade966ce63196edbcb6fe270a276deb1aa2",
"body": "StatsView computed term counts from loaded concepts (lazy-loaded chunks)\ninstead of the manifest authoritative languageStats. For datasets with\n10,000+ concepts where only a fraction of chunks load before the user\nvisits the stats page, the terms column showed a tiny subset (e.g. 365\ninstead of 7,134). Swap the ?? priority so manifest values win.",
"is_bot": false,
"headline": "fix(stats): prefer manifest languageStats for term counts",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-13T15:52:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d12193cabd4ccd38922122f14328d4e44f7e082",
"body": "New SupersessionDiffIsland.vue that uses glossarist/diff's\ndiffConcepts() to compare a concept with its superseding or\nsuperseded counterpart in a lineage series.\n\n## UX\n\nWhen viewing a concept in a lineage-series deployment (e.g.,\nisotc204-ed3 → isotc204-2025 → isotc204-2022):\n\n1. The page detects \n[…]\nexamples.added/removed\n\n## Dependencies\n\n- glossarist bumped to ^0.4.17\n- glossarist/diff: diffConcepts, ConceptDiff, renderConceptDiff\n\n## Verified\n\n- Vite SPA build: OK\n- Vitest: 1,135 tests passing",
"is_bot": false,
"headline": "feat: supersession diff UI — compare superseding/superseded concepts",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-11T14:32:15Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "73c48ee296f44ebead926227cd6b4db0c5a5138c",
"body": "Wires the new glossarist/diff module (v0.4.16) into concept-browser:\n\n## ConceptDiffIsland.vue\n\nNew Vue island that compares a concept across editions using\nglossarist-js's diffConcepts() API. Shows:\n\n- Similarity score (0-100%) with color-coded bar\n- Definition diff with word-level hunks (added/rem\n[…]\n09)\n- glossarist/diff subpath: diffConcepts, ConceptDiff, renderConceptDiff\n\n## Verified\n\n- Vite SPA build: OK\n- Vitest: 1,135 tests passing\n- Astro build: running (24K pages with content collections)",
"is_bot": false,
"headline": "feat: consume glossarist/diff — concept edition comparison",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-11T09:04:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "986cd8de45ac7e54d84fdf7407bcbcfbd9ddf35f",
"body": "glossarist-js v0.4.16 adds the full concept diff module:\n- diffConcepts / diffLocalizedConcepts — model-driven hierarchical diff\n- diffConceptCollections — collection-level diff with similarity scores\n- diffText / diffList — text and list diff primitives\n- renderConceptDiff / renderCollectionDiff / \n[…]\nConcepts, diffText, diffList,\ndiffSet.\n\nVerified:\n- glossarist/diff imports all 28 exports correctly\n- npm run build (Vite SPA): OK\n- npx astro build: 24,316 pages OK\n- npx vitest: 1,135 tests passing",
"is_bot": false,
"headline": "chore: bump glossarist to ^0.4.16 (concept diff module)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-11T04:56:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0aae4269211beed7efc718c75486ed408ea7c512",
"body": "Creates comprehensive island wrappers for every major SPA component,\nwith Pinia + Vue Router provided globally via appEntrypoint.\n\n## New islands (10 total)\n\n- ConceptDetailIsland — full ConceptDetail.vue with all sub-components:\n DesignationList, RelationshipList, NonVerbalRepDisplay, ConceptRdfVi\n[…]\nid]/index.astro: SeriesCardIsland for lineage display\n- group/[id]/index.astro: SSG lineage timeline + GroupRendererIsland\n\n## Verified\n\n- npx astro build: 24,316 pages ✓\n- npm run build (Vite SPA): ✓",
"is_bot": false,
"headline": "feat: wire ALL 42 SPA components into Astro islands",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T23:07:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7405df6ff68777f41eab6fcde8937c4cfa592275",
"body": "…is sufficient)",
"is_bot": false,
"headline": "fix: remove vite-plugin-yaml (inline YAML plugin in astro.config.mjs …",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T16:49:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "79c7098f61cfb825cc848fd58f7a16a8ed41ebc5",
"body": "… CSS\n\n## CSS Migration to Native Tailwind 4 (TODO: fully native)\n\n- src/style.css: 501 lines → 21 lines (removed all custom @layer\n components, @apply chains, inline hex colors)\n- src/styles/colors.css: removed (all colors merged into @theme)\n- src/styles/tailwind.css: @theme is now the SSOT for A\n[…]\nonfig\n\nAdded YAML transform plugin (SPA components import YAML locale files\nfor i18n).\n\n## Verified\n\n- npx astro build: 24,316 pages ✓\n- npm run build (Vite SPA): ✓\n- npx vitest: 1,135 tests passing ✓",
"is_bot": false,
"headline": "feat: wire REAL SPA components into Astro islands + native Tailwind 4…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T16:49:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "26e6a4a224f363e6b947b26e500819c4e8e943c7",
"body": "tailwind.config.js is no longer needed — all theme configuration is\nin CSS via @theme in src/styles/tailwind.css (Tailwind 4 CSS-first\napproach). Also fixed src/style.css which was double-importing\nTailwind (once directly, once via styles/tailwind.css).\n\nAudit result: 0 old @tailwind directives, 0 theme() calls,\n0 PostCSS references. Fully adopted Tailwind 4 + Vite 8.",
"is_bot": false,
"headline": "fix: remove legacy tailwind.config.js + fix double Tailwind import",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T15:12:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8764a7fd30d2ebe38eafd10d29176262e85759c5",
"body": null,
"is_bot": false,
"headline": "fix: upgrade @vitejs/plugin-vue to 6.0.7 (supports Vite 8)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T07:29:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a99c39ada144053939c3365c7fbf92449da94e87",
"body": "Full migration from Tailwind 3 → Tailwind 4 and Vite 6 → Vite 8.\n\n## What changed\n\n- tailwindcss 3.4.17 → 4.3.2\n- vite 6.3.5 → 8.1.4\n- Added @tailwindcss/vite 4.3.2 (TW4's Vite plugin)\n- Removed autoprefixer + postcss (built into TW4)\n- Removed postcss.config.js (TW4 uses @tailwindcss/vite instead)\n\n[…]\neme('colors.ink.300') → var(--color-ink-300) in style.css\n\n## Verified\n\n- npm run build (Vite SPA): ✓ builds in 45s\n- npx astro build: ✓ 24,316 pages built in 1m\n- Both use Tailwind 4.3.2 + Vite 8.1.4",
"is_bot": false,
"headline": "feat: Tailwind 4 + Vite 8 + @tailwindcss/vite upgrade",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T07:29:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "93ff050b859c55042e6963330fca6361c4b1d41b",
"body": "…ated\n\nTwo fixes that make the Astro pipeline work end-to-end with real\ndata:\n\n1. bridge-to-astro.mjs: read datasets.json from public/ (consumer\n CWD) not public/data/ (wrong path). Also read site-config.json\n from public/ root, and pages from public/pages/. The bridge now\n correctly reads gen\n[…]\ncept detail with designations\n /dataset/isotc211 — 1,302 concept pages\n /dataset/osgeo — 444 concept pages\n\nGenerated content collections gitignored (24K files are build\nartifacts, not source code).",
"is_bot": false,
"headline": "fix(astro): bridge reads from consumer CWD + real-data pipeline valid…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-10T02:39:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dd522c1d846c05bbee058d8a339fb16eb9f8e325",
"body": "PR #103 completed the remaining 8 items (13, 15, 18, 19, 22, 24, 26,\n27-28). STATUS.md was stale and still showed them as 'Remaining'.\n\nUpdated to reflect all 28 items complete with PR references.\n\nAlso validated with lychee against a live server:\n 110 Total ✅ 110 OK 🚫 0 Errors\n\nAll 12 pages + CSS + favicon serve HTTP 200. Zero broken links.",
"is_bot": false,
"headline": "docs: update STATUS.md — all 28 TODO.astro items complete",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T08:15:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d9eb20bb35fce323e1c39f7bc0a5534f2f07b92",
"body": "@astrojs/tailwind@6.0.2 requires astro ^3-5. Astro 7 uses the\nstandard PostCSS config (postcss.config.js + tailwind.config.js)\nwhich already exists. No functional change.",
"is_bot": false,
"headline": "fix(astro): drop @astrojs/tailwind (incompatible with Astro 7)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T08:01:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5057ea0277c53bfbe556ceded883af85311fea0",
"body": "Upgrades to Astro 7.0.7 + @astrojs/vue 7.0.1 and implements all\n8 remaining TODO.astro items:\n\n## Astro 7 upgrade\n\n- astro ^5.18.2 → ^7.0.7\n- @astrojs/vue ^5.1.4 → ^7.0.1\n- Content Layer API: glob() loaders replace deprecated type:'data'\n- 18 pages build cleanly on Astro 7\n\n## Remaining TODOs comple\n[…]\nrks\n\nTODO 27-28 (cutover + cleanup): CLI has Astro-first build with Vite\nfallback. Both coexist until cutover is verified. Cleanup deferred\nuntil production deployment confirms Astro works end-to-end.",
"is_bot": false,
"headline": "feat(astro): Astro 7 upgrade + complete remaining TODOs (13-28)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T08:01:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0f4485decec6e90acc75918a49669592c2f6897e",
"body": null,
"is_bot": false,
"headline": "docs: TODO.astro STATUS.md — 20 of 28 complete",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T07:03:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69693f905e328f227dc465a90ecf07fa1a86aeec",
"body": "Completes TODOs 09, 10, 11, 12, 14, 17, 21, 25:\n\n## Vue islands (TODOs 09-12)\n\n- ConceptIsland.vue (client:load) — concept detail with view mode\n toggle (detail/sphere), designations, definition, notes, examples,\n sources, relationships, RDF source panel, section tags\n- SearchIsland.vue (client:lo\n[…]\nted palette via .dark class\n\n## SEO (TODO 25)\n\n- SeoMeta.astro component with Open Graph, Twitter Card, canonical URL\n\n## Build verified\n\n13 pages + sitemap. All islands compile and hydrate correctly.",
"is_bot": false,
"headline": "feat(astro): Vue islands + ClientRouter + color system + SEO",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T07:02:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7d61e7a533f64461ba661e55f57b94349396ff3e",
"body": null,
"is_bot": false,
"headline": "fix(tsconfig): exclude Astro site-config.ts from vue-tsc",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T06:27:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4ba62d752560de698cf9e449fc9b01423c15a6df",
"body": "… build\n\nFull Astro migration: every route from the Vue SPA is now an Astro\npage. 13 pages build cleanly with zero JS for static content.\n\n## Pages (all 15 routes)\n\n- / (home — dataset listing with groups)\n- /dataset/[id] (dataset overview with concept list)\n- /dataset/[id]/concept/[cid] (concept de\n[…]\n\n\n- npx astro build: 13 pages + sitemap generated\n- All getStaticPaths resolve correctly\n- Content collections validate via Zod schemas\n- Zero runtime JS for static pages (home, dataset, group, stats)",
"is_bot": false,
"headline": "feat(astro): all page routes + site shell + data bridge + 13-page SSG…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T06:27:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9c568e5cf7f4b80d7b37824d0d1313b51854087b",
"body": "content.config.ts and .astro pages use astro:content virtual module\nthat only exists in the Astro build context. vue-tsc can't resolve\nit. Excluding these from the Vue type check fixes the CI failure.\n\nAstro has its own type check (npx astro check) for these files.",
"is_bot": false,
"headline": "fix(tsconfig): exclude Astro files from vue-tsc",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T05:14:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b50ce1f80afc475e6725c9ac150488a01d708385",
"body": "…ages\n\nInitial Astro migration foundation. The Vue SPA and Astro coexist;\nAstro builds independently to dist-astro/ during transition.\n\n## What's included\n\n1. astro.config.mjs — Astro + Vue + Tailwind + Sitemap integration\n with i18n config (15 locales) and prefetch\n\n2. src/content.config.ts — typ\n[…]\new, non-verbal rep,\n bibliography, error handling, routing, build pipeline,\n performance, accessibility, SEO, testing, migration cutover,\n cleanup.\n\nSee TODO.astro/README.md for the full work plan.",
"is_bot": false,
"headline": "feat(astro): Phase 1 — project setup + content collections + static p…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-09T05:14:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "552b756b2809511ed689be5d3a43ea94b912356e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.69",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-08T16:52:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d8dcb136f5a61326de97beca735782a3aea8589",
"body": "The series card showed '—' for isotc204-ed3 because the factory's\nsetSummaryManifest built a minimal manifest WITHOUT year. When the\nregistry summary is used (before the full manifest loads), the\nadapter's manifest.year was undefined, and extractYear('isotc204-ed3')\nreturns undefined (no 4-digit yea\n[…]\nto manifest\n\nNow the series card renders 2026 for ed3 immediately, before the\nfull manifest fetch completes.\n\nTest: tc204-deployment.test.ts gains a 7th case verifying every\nmember has a numeric year.",
"is_bot": false,
"headline": "fix(lineage): propagate register.year through DatasetSummary to manifest",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-08T16:51:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6718af2c8f3ab0044008449fd388e1d7662368a7",
"body": "site-config.yml and all consumer YAML files now use snake_case keys\nonly (uri_base, base_path, gcr_package, source_repo, etc.). The\nconfig loader normalizes snake_case YAML keys to camelCase JS\nproperties at load time, so consumer code stays idiomatic\n(config.uriBase, ds.gcrPackage).\n\nYAML wire format: snake_case only (canonical).\nJS property names: camelCase (JS convention).\nTranslation: single point in load-site-config.mjs.",
"is_bot": false,
"headline": "refactor(config): snake_case YAML keys + normalization layer",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-08T16:51:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01d7eaa2d7097858f268eb07987c3b2ced64827c",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.68",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-08T09:06:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48bde43c8b4eacc6a4a4855992a1ffd925fdb47d",
"body": "…(#98)\n\nisotc204-ed3 (the draft of Edition 3) has no year in its id, so\nextractYear('isotc204-ed3') returned undefined and the edition sorted\nas the OLDEST in the lineage timeline (year=0 < 2022). The actual\nregister.yaml sets year: 2026 — the data was correct but never\nreached the manifest.\n\nFix:\n-\n[…]\nt current=isotc204-ed3 (draft) honored\n- sort by year ascending puts ed3 last\n- stub members survive partial deployment (GCR download failure)\n- group-about discovery path matches site-content/ layout",
"is_bot": false,
"headline": "fix(lineage): propagate register.year to manifest for draft editions …",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-08T09:05:43Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5dae08fefcd8976969c3a00daa150b0f6d95535d",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.67",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-06T09:03:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04a7a32d798ce99779cf66ac6e5c64e5ce6e08d2",
"body": "…ayer (TODOs 04, 09, 10) (#97)\n\nThe split-brain architecture is gone. concept-browser now consumes\nglossarist-js's RDF layer directly. ~2300 LOC of duplicate emitters,\nwriters, and abstractions deleted.\n\n## What changed\n\n### Bug 04 — displayName defensive check removed\n\nglossarist-js v0.4.13+ ships \n[…]\nssarist/rdf/shacl'\n(the new Node-only subpath separated for browser safety).\n\n## Verification\n\n- npm run check:scripts — 28 files OK\n- npm run build — vue-tsc + vite build OK\n- npm test — 1128 passing",
"is_bot": false,
"headline": "refactor(rdf): migrate Vue UI to glossarist-js, delete concept-rdf/ l…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-06T09:01:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8bd9777520e5fcc17b282c6cf36e181bb0180c4a",
"body": "… 40) (#96)\n\n* refactor(generate-data): unify dataset metadata precedence (TODO 38)\n\nAdopt register-wins as the single precedence rule for all dataset\ncontent fields. Previously languages+description were register-wins\nwhile owner/sourceRepo/languageOrder/ref/refAliases/tags/datasetUri/\nuriAliases/s\n[…]\nlidate-shacl\n0.6.5 (the latest available). The validator's constructor calls\nthis.factory.clownface, which no longer exists in n3 2.x's factory.\n\nHolding n3 at 1.x until upstream catches up. DEFERRED.",
"is_bot": false,
"headline": "refactor(generate-data): dataset metadata SSOT cleanup (TODOs 38, 39,…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-06T08:17:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bea40434cb6c65cc32760d8a3fe0027dc516c535",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.66",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T22:21:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03d397f72d42f54418c463bf0548295c36791190",
"body": "Two production bugs caught during deployment of isotc211.geolexica.org:\n\n1. buildAgentsTurtle did not pass orgBase to agentsToQuads (glossarist-js\n v0.4.12 made orgBase required). Added orgBase param and forwarded it.\n2. writeBuildActivity test mock makeInput was missing baseUri.\n\nRegression tests added for both.",
"is_bot": false,
"headline": "fix: pass orgBase to agentsToQuads + regression tests for missing params",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T22:20:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c1eb5eb9a5ee6cd46cbe4c55e4764d532aef417e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.65",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T15:47:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7024c3ce7743b770ba24cf5093c38773fcae53a1",
"body": "…ream builds)\n\nwriteBuildActivity was calling buildActivityToQuads without baseUri.\nAfter removing the hardcoded glossarist.org default in glossarist-js\nv0.4.12, this throws an error. All downstream deployments (iala-vocab,\ngeolexica sites) fail at the generate-data step.\n\nPass refMaps.uriBase from the call site into writeBuildActivity, which\nforwards it to buildActivityTurtle → buildActivityToQuads.",
"is_bot": false,
"headline": "fix: pass baseUri to writeBuildActivity (critical — breaks all downst…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T15:46:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c3c955ba1809db44eb9701da97b96d572377e6cb",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.64",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T15:21:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "507441dcbbef2b3c9f6790141c5820683b3313f0",
"body": "concept-browser had 11+ locations using 'https://glossarist.org' as a\ndefault fallback for the instance data base URI. When a deployment\n(oimlsmart/vocab, iala-vocab, geolexica sites) didn't explicitly set\nuriBase in site-config.yml, all instance IRIs silently used\nglossarist.org instead of the depl\n[…]\nved its hardcoded defaults)\n\nThe CLAUDE.md ABSOLUTE RULE (added in PR #92) now applies fully:\nno deployment-specific values in source code. Configuration is NOT code.\n\n1389 tests pass, build succeeds.",
"is_bot": false,
"headline": "fix: remove ALL hardcoded glossarist.org base URI defaults (BUG 02)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T15:20:34Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db9e6c600d4ad3cc3848dc5fb170abf5471f3ce2",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.63",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T14:02:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3704e4bc87d35390841accab3cbce0c1b4e030c8",
"body": null,
"is_bot": false,
"headline": "fix: update type annotations for UriRouter.parseUri return shape",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T14:01:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fcb7fd3d6bb9fda5819b40bf18c31e901b002bff",
"body": "…(BUG 01)\n\nRelationSphere.vue had a parseNeighborUri function with a regex that\nhardcoded specific deployment hostnames (glossarist.org,\noimlsmart.github.io/vocab). This silently broke the sphere view for\nevery other deployment.\n\nDeleted parseNeighborUri. Both call sites now use UriRouter.parseUri()\n[…]\ng diverse deployment URIs.\n\nAlso adds:\n- CLAUDE.md: ABSOLUTE RULE against hardcoding deployment configuration\n- TODO.bugs/01 + 02: bug documentation\n- TODO.refactor/31-37: migration and audit planning",
"is_bot": false,
"headline": "fix(sphere): delete hardcoded hostname regex, use UriRouter.parseUri …",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T14:01:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d9825479c663cf3d40debdb36669c1008f653c87",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.62",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T13:17:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06dc27a0682b4ec456c85f6b248ebd9f343d9e7c",
"body": "…igration Phase 1)\n\nFollowing the pattern established by vocab-turtle (PR #88), migrate\nthe remaining 5 build scripts to delegate to glossarist-js's\nemitter + writeTurtle:\n\n- scripts/lib/dataset-turtle.mjs → datasetToQuads\n- scripts/lib/bibliography-turtle.mjs → bibliographyToQuads\n- scripts/\n[…]\n.ts (4 tests)\n- build-integration.test.ts (6 tests)\n\nVerification:\n- npm test: 1378 pass, 7 skip\n- npm run generate-data: 24286 concepts across 4 datasets\n- npm run validate:shacl: 24294 files conform",
"is_bot": false,
"headline": "chore(rdf): migrate 5 build scripts to glossarist-js emitters (TODO.m…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T13:01:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "856b3a57232cd8ff7e8273a7938bb47f7fc855de",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.61",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T11:59:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0619c5cf8a40c61b47799040c177ef7bc6557992",
"body": "Two UI fixes reported against the iala-vocab deployment:\n\n1. lineage group glyph: hourglass -> long right arrow. The hourglass\n read as \"waiting\" rather than \"editions over time\". The arrow\n matches the existing geometric glyph style (topic=family diamond,\n family=star, collection=cluster, def\n[…]\ntrast-aware style:\n - light mode: bg = light color, text = white\n - dark mode: bg = darkAlpha(0.25), text = light color\n\n The result is a tinted badge with always-readable text in both\n modes.",
"is_bot": false,
"headline": "fix(ui): lineage glyph + dark-mode badge contrast",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T11:57:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "74c5cbf4a005293b6700670236d2f6d743a8b654",
"body": "iala-vocab was transferred from metanorma/iala-vocab to\nglossarist/iala-vocab. Update the Known Deployments table to point\nat the new repo and the new github.io URL.",
"is_bot": false,
"headline": "docs(readme): update iala-vocab repo + deployment URL after org transfer",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T11:36:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "347573a88189100e75277977fcedd4cfa280717c",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.60",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T10:42:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78ed252616d49c8a088f93a4c2408f943e930183",
"body": "buildVocabularyTurtle() returns a Promise after the migration to\nglossarist-js's writeTurtle. Update the unit test to await it, and\nupdate the build-integration test's inline scripts to use top-level\nawait (Node supports this for --input-type=module).",
"is_bot": false,
"headline": "test(rdf): vocab-turtle now async — update callers + integration tests",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T10:41:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25a9821813cc382f47fdf548cfade3ef61130350",
"body": "…st emitter\n\nglossarist-js v0.4.9 ships the full specialized emitter suite:\n- vocabularyToQuads (SKOS ConceptSchemes)\n- datasetToQuads (dcat:Dataset)\n- groupToQuads (dcat:DatasetSeries / Catalog)\n- bibliographyToQuads (dcterms:BibliographicResource)\n- buildActivityToQuads (prov:Activity)\n- agentsToQ\n[…]\nracked in TODO.migration.\n\nVerification:\n- npm test: 1378 pass, 7 skip\n- npm run build: succeeds\n- npm run generate-data: 24286 concepts across 4 datasets\n- npm run validate:shacl: 24294 files conform",
"is_bot": false,
"headline": "chore(rdf): bump glossarist ^0.4.9 + migrate vocab-turtle to glossari…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T10:41:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "365afd8f00e1e1ba04efbfce7b8cfc03736ec3e1",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.59",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T06:16:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "268a84d5ce1241ce67ad059dffe5565fae5c8edd",
"body": "…n Phase 2)\n\nThree pieces of Phase 2 migration land here, all preserving existing\nbehavior:\n\n1. rdf-prefixes.ts: RDF_PREFIXES now derives from glossarist-js's\n canonical PREFIXES map (sourced from concept-model's prefixes.ttl\n via glossarist-js's auto-generated predicates.js). The 3 well-known\n \n[…]\nsection closure; different category taxonomies).\n\nVerification:\n- npm test: 1378 pass, 7 skip\n- npm run build: succeeds (no node:crypto in browser bundle)\n- npm run validate:shacl: 24294 files conform",
"is_bot": false,
"headline": "chore(rdf): consume glossarist-js prefix + color SSOTs (TODO.migratio…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T06:15:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b7d206b141a572b0945484156bd5634915ad317f",
"body": "The data/ directory holds glossarist-vocab.json, colors.json, and\nthe vendored concept-model artifacts. None of these were in the\npackage.json files array, so npm publish produced a tarball without\nthem. Downstream consumers (mn/iala-vocab, oimlsmart/vocab, the\ngeolexica deployment sites) failed at \n[…]\nhasNonVerbalRep links\n- LocalizedConcept emitter iterates nonVerbalRep[]\n- Subtype OCP: each NonVerbal subtype overrides rdfClass()\n- Concept-model drift test\n- clearShapesCache promoted to public API",
"is_bot": false,
"headline": "chore(pkg): include data/ in published files + bump glossarist ^0.4.6",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T06:15:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a8e91b7f9c96be39ecabb8a13ff494db20997962",
"body": "concept-model v3.1.0 was tagged today (commit 49e4dc4). The release\nadds CHANGELOG.md, RELEASE_NOTES.md, RELEASE_PROCESS.md, a release-\nreminder workflow, and a README section. Zero changes to ontologies/\nor schemas/ - concept-browser's vendored artifacts are already at\nv3.1.0 content (synced at com\n[…]\n 8d5972e in PR #84).\n\nThis commit only updates SOURCE.json to reference the tag instead of\nthe bare commit hash. Future syncs via `npm run sync:model` will pin\nto the latest release tag automatically.",
"is_bot": false,
"headline": "chore(model): pin vendored concept-model ref to v3.1.0 tag",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T05:10:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6f60b9c3a2756ea52870a9de4d24ecec68f5969e",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.58",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T03:02:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5572196515e129bfed46b3a338c47b9d6d4a0ca4",
"body": "…p 1)\n\nscripts/validate-shacl.mjs previously rolled its own factory by hand\n(n3 DataFactory + @rdfjs/dataset.dataset) and called rdf-validate-shacl\ndirectly. glossarist-js v0.4.5 exposes the same wrapper as\nvalidateShacl(graph, { shapes }) from the glossarist/rdf subpath.\n\nReplaces the local factory\n[…]\nategories + default palette\n- main entry no longer re-exports RDF (browser-safe)\n\nVerification:\n- npm run validate:shacl: 24294 files conform\n- npm test: 1378 pass, 7 skipped\n- npm run build: succeeds",
"is_bot": false,
"headline": "chore(rdf): consume glossarist-js SHACL validator (TODO.migration ste…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T03:01:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a73387052f85e9bd08c9981ef0bb823c786160e7",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.57",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T01:28:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "575ea698e2baaeb0dd3257f70edf6196d1589bb8",
"body": "Syncs vendored concept-model artifacts from origin/main (commit\n8d5972e). Brings in:\n- K1-K4 non-verbal entity shapes (Figure/Table/Formula)\n- Section cascading via owl:TransitiveProperty\n- Canonical prefixes.ttl as SSOT for prefix bindings\n- MECE separation: class declarations live in glossarist.tt\n[…]\nixes.ttl on future syncs.\n\nVerification:\n- npm run validate:shacl → 24294 files conform (was 164 parse errors)\n- npm test → 1378 pass, 7 skipped\n- npm run build → succeeds",
"is_bot": false,
"headline": "chore(model): sync concept-model artifacts + fix TTL escape bug",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T01:27:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "108122251218b24084883b8efc29034d661ce735",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.56",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-05T00:17:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4cd6d1e124ce7f190ca9950c6fa67f0c8424ab2",
"body": "CLAUDE.md:\n- Added RDF IR architecture section with all emitter modules\n- Added SHACL conformance gate description\n- Added color system section (light/dark pairs, CSS variables)\n- Added dataset groups section (5 kinds, OCP registry)\n- Added relation sphere description\n- Added vocabulary SSOT section\n[…]\nne with new RDF artifacts\n- Updated tech stack with n3, rdf-validate-shacl, fast-check\n- Updated project structure with new directories\n- Updated testing section with coverage stats + mutation testing",
"is_bot": false,
"headline": "docs: update CLAUDE.md + README.md for latest features",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-05T00:15:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6f9560c4567995983613cc106b39219a684a5ca3",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.55",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-04T23:24:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b618eaf8e13945826008007868a638d52395d7b8",
"body": "…istinction\n\n#27 — Manifest color type:\n- Manifest.color changed from string to string | {light, dark}\n- Eliminated 2 `as DatasetColorSpec` casts\n\n#28 — Dead code cleanup:\n- Deleted SidebarSeriesSection.vue (not imported anywhere)\n\n#29 — CSS filter hack removal:\n- Removed `.dark .sidebar-group-label\n[…]\n\n- Tooltip shows kind description from the registry\n- This gives a clear visual distinction between edition series\n groups and topic bundle groups in the sidebar\n\nTest count: 1357 passing, unchanged.",
"is_bot": false,
"headline": "refactor: type safety, dead code, about pipeline, group-kind visual d…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T23:22:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "da395863fbba5304152778cc527943a847b69b4a",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.54",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-04T17:13:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d0808d85ec04fcd40b883f3475ff7297dc3be1f",
"body": "…ntries\n\nThe contributor's lineage series template replaced the per-entry\nexpansion content (sub-pages, sections tree, provenance) with a\ncompact timeline that showed only year+ref. Selecting an edition\nin a series no longer showed sub-pages, sections, or provenance.\n\nFix: restructured the template \n[…]\nion now appears for the active dataset in ALL kinds.\n\nThis preserves both edition series navigation (compact year+ref,\ncurrent star) and full detail view (sections, provenance, sub-pages)\nwhen active.",
"is_bot": false,
"headline": "fix(sidebar): restore sections/provenance detail for lineage series e…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T17:11:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1f7e2c0557b9e424889f53654443093c058a9a27",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.53",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-04T17:06:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccce4d855f57f18c473df1503a2b7327fdb41478",
"body": "…ts (#20-26)\n\n20 — Group renderer OCP registry:\n- src/config/group-renderers.ts: GROUP_RENDERERS Record<kind, {sidebar}>\n- src/components/groups/DatasetGroupRenderer.vue: dispatcher via <component :is>\n- LineageGroupSidebar.vue: timeline entries with var(--group-kind-*)\n- DefaultGroupSidebar.vue: fl\n[…]\ne/switchToDetail update route via router.replace\n- Sphere view survives page refresh\n\nTotal cycle-2 test count: 1357 passing (was 1259 at cycle start, +98 tests).\nType-check clean, scripts gate clean.",
"is_bot": false,
"headline": "refactor: OCP group registry, CSS variables wiring, viewMode URL, tes…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T17:05:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e50c16e32ba2aaf75c3e49ff3d4ff2e25d07cea8",
"body": null,
"is_bot": true,
"headline": "chore: bump version to 0.7.52",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-04T16:49:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f97fbc45637d2a88183d9a95cb495168b10870d",
"body": "…ecs (#19-23)\n\n19 — Group RDF emitter:\n- src/components/concept-rdf/group-emitter.ts\n- Lineage groups → dcat:DatasetSeries + dcat:hasVersion\n- Topic/family/collection → dcat:Catalog + dcat:dataset\n- Default → no emission\n- 7 tests covering all kinds + metadata (subject, themes, keywords)\n\n20-23 — TO\n[…]\nDatasetSeries, DCAT.Catalog,\nDCAT.hasVersion, DCAT.isVersionOf, DCAT.hasCurrentVersion,\nDCAT.theme, DCAT.keyword, DCTERMS.subject.\n\nTest count: 1340 passing (2 flaky timeouts in property-based SHACL).",
"is_bot": false,
"headline": "feat: group RDF emitter, group renderer registry scaffolding, TODO sp…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T16:47:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "58a907afb22755d254c3b2b80f19fa7ec66e812d",
"body": "…lation dedup (#14-18)\n\n14 — Color system v2:\n- data/colors.json SSOT with light/dark for all categories\n- src/utils/color-theme.ts: createColorTheme() with override merging\n- src/composables/use-color-theme.ts: CSS variable emitter\n- src/utils/dataset-style.ts: DatasetColorSpec (string | {light, da\n[…]\n- grep -r useRelationCategories src/ returns 0\n\nType changes: DatasetColorSpec, SiteColors added to config/types.ts.\nRuntimeSiteConfig extended with colors field.\n\nTest count: 1335 passing (was 1259).",
"is_bot": false,
"headline": "refactor: color system v2, i18n cleanup, UriRouter SSOT, bugfixes, re…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T16:47:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2ab2a71cd572666890a4e45b25f6deeb7c383411",
"body": "… changes\n\nResponds to the deep audit on PR #76. Fixes 6 architectural smells and\n6 spec gaps; aligns with 6 glossarist-ruby changes that landed in the\nlast 2 weeks.\n\nA1/A2/C1 — Vocabulary single source of truth:\n- New data/glossarist-vocab.json — single source for all enumeration\n terms. Includes \n[…]\ne the shared helper.\n\nPredicate constants: removed duplicate 'image', added 'expression',\n'latexForm', 'content', 'hasHeader', 'hasRow', 'hasNonVerbalRepresentation'.\n\nTest count: 1259 → 1292 passing.",
"is_bot": false,
"headline": "refactor(audit): fix architecture smells + align with glossarist-ruby…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ccf3f1f6c25bfc720a2f0dc095e4d32ba3d81b7f",
"body": "…(J3 final, P1 follow-up)\n\nWS J3 final — URI resolver hook:\n- emitConceptGraph accepts an optional EmitOptions { resolveRef? }.\n- When provided, the resolver maps { source, id } related-concept\n refs to actual concept URIs. Used for dcterms:replaces /\n dcterms:isReplacedBy when present, falling ba\n[…]\nest.ts compares them automatically\nvia this utility. Until then, JS snapshots are committed and\ndrift-protected.\n\n7 fixture .ttl files added under test/snapshots/js/.\n\nTest count: 1238 → 1259 passing.",
"is_bot": false,
"headline": "test(ws-jp): URI resolver hook + JS snapshot generator + isomorphism …",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "74e79b9bccfb4e77daf3655e40cdf5456b6e1fad",
"body": "Adds stryker mutation testing scoped to the three highest-value\nemitter files. Mutation testing systematically mutates source code\n(if → if !, + → -, removes statements, swaps comparison operators)\nand re-runs the test suite per mutant. Killed mutant = test caught\nthe mutation. Survived mutant = tes\n[…]\ne manually or via a separate scheduled CI job.\n\nReports: HTML (stryker-report/), clear-text (stdout), progress.\n\n5 config-validation tests verify the setup is intact.\n\nTest count: 1233 → 1238 passing.",
"is_bot": false,
"headline": "test(ws-p): stryker mutation testing (P2)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f1f01b5d454ea94e3fbcae2cd6fad6391e9e6675",
"body": "…la, URI NVRs\n\nWS K1 — SHACL class hierarchy:\n- data/concept-model/shapes/glossarist.shacl.ttl extended with\n gloss:NonVerbalEntity, gloss:Figure, gloss:Table, gloss:Formula\n (rdfs:subClassOf hierarchy) plus corresponding NodeShapes that\n constrain Figure (≥1 image), Table (≥1 content), Formula\n \n[…]\nn. FOAF.Image. DCTERMS.isPartOf,\nDCTERMS.BibliographicResource.\n\nExisting tests updated to expect URI-based NVR emission where the\nfixture has caption+image material.\n\nTest count: 1212 → 1233 passing.",
"is_bot": false,
"headline": "feat(ws-k): K1-K4 — non-verbal entity shapes, image refs, table/formu…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5ad9305cade314d6c68669dda6f03f31fe5f8c96",
"body": null,
"is_bot": false,
"headline": "test(ws-f): Layer 8 build-pipeline integration test",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f597ccfb65e3e56cc59260c635f06b37a2bdf7c7",
"body": "…caffolding, shape self-consistency\n\nWS J3 remainder: dcterms:replaces / dcterms:isReplacedBy\n- New helper lifecycleCounterpartUri() maps {source, id} related-\n concept refs to URN-form IRIs (urn:iso:std:{source}:{id} for\n standards bodies, urn:gloss:rel:{source}:{id} otherwise).\n- Emitter adds dc\n[…]\nexercised. Catches drift when concept-model\n publishes new shape versions.\n\nPredicate constants extended: DCTERMS.isPartOf,\nDCTERMS.BibliographicResource, FOAF.page.\n\nTest count: 1185 → 1205 passing.",
"is_bot": false,
"headline": "feat(ws-jkp): DCTERMS lifecycle aliases, bibliography, differential s…",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "84c4128c229bba3e729b7d38b2fc0c2b200460f6",
"body": null,
"is_bot": false,
"headline": "docs: WS J/K/P final status — J4/J6/J9/P3 done",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d766d25198def7ccb630d7b97a898195ededdea",
"body": "Build activity emitter now declares the tool as\nprov:Entity + prov:SoftwareAgent with prov:version. Mjs twin\nupdated to match. Existing git-commit + tool-used assertion kept.\n\nProperty-based test count reduced from 1000 to 200 iterations to\nstay under vitest's 5s default timeout when the suite runs in\nparallel. 200 iterations is still 200× the example-based coverage\nand catches any emitter structural regression. The CI budget for\nthis spec is ~1s instead of ~7s.\n\nTest count: 1184 → 1185 passing.",
"is_bot": false,
"headline": "feat(ws-j9): tool identity as prov:SoftwareAgent",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "082e7c46ba1971cbf51edc6bbac22b7a41ed16e7",
"body": "Adds fast-check (4.8.0) as a dev dependency and a property-based\nspec that runs 1000+ iterations against random concept permutations.\n\nInvariants checked:\n1. Every emitted Turtle parses without errors.\n2. Every emitted Turtle conforms to canonical SHACL shapes when\n combined with the vocabulary gr\n[…]\nnvariants (parse, SHACL conform,\nterminate, type) will surface immediately across many random\ninputs, not just the six hand-written fixtures.\n\nTest count: 1180 → 1184 passing. New spec runs ~3s on CI.",
"is_bot": false,
"headline": "test(ws-p): property-based fuzz testing (P3, fast-check)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e00916b69e028e5c83f5366c9552e38d3cd41b12",
"body": "WS J4 — Agent records:\n- src/components/concept-rdf/agents-emitter.ts: takes site-config\n contributors, emits a foaf:Person + prov:Person + prov:Agent graph\n with foaf:name, foaf:mbox (mailto), rdfs:seeAlso (url),\n dcterms:description (role). Organization is slug-deduplicated\n into a single foaf\n[…]\n per build with current package\n version and timestamp; chain starts at one entry (no historical\n data yet)\n\nPROV predicate constants expanded with actedOnBehalfOf.\n\nTest count: 1156 → 1180 passing.",
"is_bot": false,
"headline": "feat(ws-j): agent records and dataset versioning (J4, J6)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "69dcefc87c1dee6852a8d6f987bed7ba097be479",
"body": "scripts/lib/vocab-turtle.mjs mirrors the in-process\nvocabulary-emitter.ts so the build pipeline can emit\npublic/data/_vocab.ttl alongside per-concept data. The build-time\nvalidate-shacl.mjs walk now picks the vocabulary up automatically,\nso sh:class skos:Concept constraints resolve identically to th\n[…]\n7 skos:ConceptScheme\ncontainers, every enumeration IRI declared as skos:Concept, and\nbidirectional skos:hasTopConcept / skos:inScheme links.\n\nUpdates the WS J/K/P backlog doc to mark Follow-up A done.",
"is_bot": false,
"headline": "feat(rdf): build-time vocabulary emitter (Follow-up A)",
"author_name": "Ronald Tse",
"author_login": "ronaldtse",
"committed_at": "2026-07-04T11:13:04Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 409,
"latest_release_at": "2026-07-17T08:55:40Z",
"latest_release_tag": "v0.7.77",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 12,
"days_since_latest_release": 4,
"mean_days_between_releases": 1.3
},
"community": {
"has_readme": true,
"has_license": false,
"has_description": false,
"has_contributing": false,
"health_percentage": 25,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@glossarist/concept-browser",
"exists": true,
"license": "MIT",
"keywords": [
"glossarist",
"terminology",
"vocabulary",
"iso",
"iec",
"geolexica",
"gcr",
"concept-browser"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@glossarist/concept-browser",
"is_deprecated": false,
"latest_version": "0.7.77",
"repository_url": "https://github.com/glossarist/concept-browser",
"versions_count": 112,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 2,
"monthly_downloads": 6047,
"first_published_at": "2026-05-06T17:54:52.593000Z",
"latest_published_at": "2026-07-17T08:55:28.531000Z",
"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": 0
},
"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": 65953,
"source_files_sampled": 244,
"oversized_source_files": 1,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 10876
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "js-yaml",
"direct": true,
"version": "4.2.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m"
],
"fixed_version": "4.3.0",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "sharp",
"direct": true,
"version": "0.34.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-f88m-g3jw-g9cj"
],
"fixed_version": "0.35.0",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp"
],
"fixed_version": "5.0.7",
"advisory_count": 1,
"oldest_advisory_days": 1
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-v2hh-gcrm-f6hx"
],
"fixed_version": "4.1.1",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "svgo",
"direct": false,
"version": "4.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.2,
"advisory_ids": [
"GHSA-2p49-hgcm-8545"
],
"fixed_version": "4.0.2",
"advisory_count": 1,
"oldest_advisory_days": 0
},
{
"name": "js-yaml",
"direct": true,
"version": "5.0.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-724g-mxrg-4qvm",
"GHSA-g796-fgmg-93mv"
],
"fixed_version": "5.2.1",
"advisory_count": 2,
"oldest_advisory_days": 1
},
{
"name": "qs",
"direct": false,
"version": "6.15.1",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-q8mj-m7cp-5q26"
],
"fixed_version": "6.15.2",
"advisory_count": 1,
"oldest_advisory_days": 60
},
{
"name": "astro",
"direct": true,
"version": "7.0.7",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 0,
"advisory_ids": [
"GHSA-4g3v-8h47-v7g6"
],
"fixed_version": "7.1.0",
"advisory_count": 1,
"oldest_advisory_days": 1
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 1,
"high": 5,
"moderate": 2
},
"advisory_count": 9,
"affected_count": 8,
"assessed_count": 909,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 4
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@astrojs/sitemap",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.7.3"
},
{
"name": "@astrojs/vue",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.0.1"
},
{
"name": "@plurimath/plurimath",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.2.2"
},
{
"name": "@tailwindcss/vite",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.2"
},
{
"name": "@vitejs/plugin-vue",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^6.0.7"
},
{
"name": "astro",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.0.7"
},
{
"name": "d3",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.9.0"
},
{
"name": "favicons",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^7.2.0"
},
{
"name": "glossarist",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.17"
},
{
"name": "js-yaml",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.0"
},
{
"name": "jszip",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.10.1"
},
{
"name": "pinia",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.3.1"
},
{
"name": "sharp",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.34.5"
},
{
"name": "tailwindcss",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.3.2"
},
{
"name": "vite",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^8.1.4"
},
{
"name": "vue",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.5.13"
},
{
"name": "vue-router",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^4.5.1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@astrojs/sitemap",
"direct": true,
"version": "3.7.3",
"ecosystem": "npm"
},
{
"name": "@astrojs/vue",
"direct": true,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "@plurimath/plurimath",
"direct": true,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/vite",
"direct": true,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": true,
"version": "5.2.4",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": true,
"version": "6.0.7",
"ecosystem": "npm"
},
{
"name": "astro",
"direct": true,
"version": "7.0.7",
"ecosystem": "npm"
},
{
"name": "d3",
"direct": true,
"version": "7.9.0",
"ecosystem": "npm"
},
{
"name": "favicons",
"direct": true,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "glossarist",
"direct": true,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "glossarist",
"direct": true,
"version": "0.4.17",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": true,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": true,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "jszip",
"direct": true,
"version": "3.10.1",
"ecosystem": "npm"
},
{
"name": "pinia",
"direct": true,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "sharp",
"direct": true,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": true,
"version": "3.4.19",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": true,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": true,
"version": "6.4.3",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": true,
"version": "8.1.4",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": true,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "vue-router",
"direct": true,
"version": "4.6.4",
"ecosystem": "npm"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/check",
"direct": false,
"version": "0.9.9",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler",
"direct": false,
"version": "2.13.1",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-darwin-arm64",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-darwin-x64",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-linux-arm64-gnu",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-linux-arm64-musl",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-linux-x64-gnu",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-linux-x64-musl",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-wasm32-wasi",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-win32-arm64-msvc",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-binding-win32-x64-msvc",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/compiler-rs",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "@astrojs/internal-helpers",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@astrojs/language-server",
"direct": false,
"version": "2.16.11",
"ecosystem": "npm"
},
{
"name": "@astrojs/markdown-satteri",
"direct": false,
"version": "0.3.3",
"ecosystem": "npm"
},
{
"name": "@astrojs/prism",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@astrojs/telemetry",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "@astrojs/yaml2ts",
"direct": false,
"version": "0.2.4",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-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-import-attributes",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-meta",
"direct": false,
"version": "7.10.4",
"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": "@bruits/satteri-darwin-arm64",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-darwin-x64",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-linux-arm64-gnu",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-linux-arm64-musl",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-linux-x64-gnu",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-linux-x64-musl",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-wasm32-wasi",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-win32-arm64-msvc",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@bruits/satteri-win32-x64-msvc",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "@capsizecss/unpack",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@clack/core",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "@clack/prompts",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "@digitalbazaar/http-client",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "@emmetio/abbreviation",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "@emmetio/css-abbreviation",
"direct": false,
"version": "2.1.8",
"ecosystem": "npm"
},
{
"name": "@emmetio/css-parser",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@emmetio/html-matcher",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@emmetio/scanner",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "@emmetio/stream-reader",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@emmetio/stream-reader-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@img/colour",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-ppc64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-riscv64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-s390x",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-ppc64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-riscv64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-s390x",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-wasm32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-ia32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@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": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.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": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@one-ini/wasm",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "@oslojs/encoding",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.139.0",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@polka/url",
"direct": false,
"version": "1.0.0-next.29",
"ecosystem": "npm"
},
{
"name": "@rdfjs/data-model",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "@rdfjs/data-model",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "@rdfjs/dataset",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@rdfjs/dataset",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "@rdfjs/environment",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@rdfjs/namespace",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@rdfjs/namespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@rdfjs/term-map",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "@rdfjs/term-set",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@rdfjs/term-set",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@rdfjs/to-ntriples",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@rdfjs/to-ntriples",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@rdfjs/types",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@rdfjs/types",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@rollup/pluginutils",
"direct": false,
"version": "5.4.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "@sec-ant/readable-stream",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/core",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-javascript",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/primitive",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"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/util",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@stryker-mutator/vitest-runner",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/node",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-android-arm64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-arm64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-darwin-x64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-freebsd-x64",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm-gnueabihf",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-gnu",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-arm64-musl",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-gnu",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-linux-x64-musl",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-wasm32-wasi",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-arm64-msvc",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tailwindcss/oxide-win32-x64-msvc",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "@tpluscode/rdf-ns-builders",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/d3",
"direct": false,
"version": "7.4.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-array",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-axis",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-brush",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-chord",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-color",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-contour",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-delaunay",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-dispatch",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-drag",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-dsv",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-ease",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-fetch",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-force",
"direct": false,
"version": "3.0.10",
"ecosystem": "npm"
},
{
"name": "@types/d3-format",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-geo",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@types/d3-hierarchy",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-interpolate",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-path",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@types/d3-polygon",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-quadtree",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-random",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale-chromatic",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@types/d3-selection",
"direct": false,
"version": "3.0.11",
"ecosystem": "npm"
},
{
"name": "@types/d3-shape",
"direct": false,
"version": "3.1.8",
"ecosystem": "npm"
},
{
"name": "@types/d3-time",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-time-format",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-timer",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-transition",
"direct": false,
"version": "3.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-zoom",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/estree-jsx",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "@types/geojson",
"direct": false,
"version": "7946.0.16",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/n3",
"direct": false,
"version": "1.26.1",
"ecosystem": "npm"
},
{
"name": "@types/nlcst",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.13.3",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.9.2",
"ecosystem": "npm"
},
{
"name": "@types/rdfjs__namespace",
"direct": false,
"version": "2.0.10",
"ecosystem": "npm"
},
{
"name": "@types/sax",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.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": "@ungap/structured-clone",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue-jsx",
"direct": false,
"version": "5.1.6",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vocabulary/sh",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@volar/kit",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/language-core",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@volar/language-core",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/language-server",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/language-service",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/source-map",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@volar/source-map",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/typescript",
"direct": false,
"version": "2.4.15",
"ecosystem": "npm"
},
{
"name": "@volar/typescript",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@vscode/emmet-helper",
"direct": false,
"version": "2.11.0",
"ecosystem": "npm"
},
{
"name": "@vscode/l10n",
"direct": false,
"version": "0.0.18",
"ecosystem": "npm"
},
{
"name": "@vue/babel-helper-vue-transform-on",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@vue/babel-helper-vue-transform-on",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@vue/babel-plugin-jsx",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@vue/babel-plugin-jsx",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@vue/babel-plugin-resolve-type",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@vue/babel-plugin-resolve-type",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-core",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-dom",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-ssr",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-vue2",
"direct": false,
"version": "2.7.16",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-api",
"direct": false,
"version": "6.6.4",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-core",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-kit",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-shared",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "@vue/language-core",
"direct": false,
"version": "2.2.12",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-core",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-dom",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/server-renderer",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/test-utils",
"direct": false,
"version": "2.4.11",
"ecosystem": "npm"
},
{
"name": "@zazuko/prefixes",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-draft-04",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "ajv-i18n",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "alien-signals",
"direct": false,
"version": "1.0.13",
"ecosystem": "npm"
},
{
"name": "am-i-vibing",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "angular-html-parser",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "ansis",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "axobject-query",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.34",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.2",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "buffer-image-size",
"direct": false,
"version": "0.6.4",
"ecosystem": "npm"
},
{
"name": "bundle-name",
"direct": false,
"version": "4.1.0",
"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": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001797",
"ecosystem": "npm"
},
{
"name": "canonicalize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "character-entities-html4",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "character-entities-legacy",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "clownface",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "clownface",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "comma-separated-tokens",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "14.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "common-ancestor-path",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "config-chain",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "cookie-es",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "crossws",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csso",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "d3-axis",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-brush",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-chord",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-color",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-contour",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-delaunay",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "d3-dispatch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-drag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-dsv",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-ease",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-fetch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-force",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-format",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-geo",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "d3-hierarchy",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-interpolate",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-polygon",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-quadtree",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-random",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-scale-chromatic",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-selection",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "d3-time",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time-format",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "d3-timer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-transition",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-zoom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "de-indent",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "default-browser",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "default-browser-id",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "defu",
"direct": false,
"version": "6.1.7",
"ecosystem": "npm"
},
{
"name": "delaunator",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "des.js",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "destr",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "devalue",
"direct": false,
"version": "5.8.1",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "8.0.4",
"ecosystem": "npm"
},
{
"name": "diff-match-patch",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dset",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "editorconfig",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.368",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.369",
"ecosystem": "npm"
},
{
"name": "emmet",
"direct": false,
"version": "2.4.11",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.21.6",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "error-stack-parser-es",
"direct": false,
"version": "1.0.5",
"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.1.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "fast-check",
"direct": false,
"version": "4.8.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"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.3",
"ecosystem": "npm"
},
{
"name": "fast-wrap-ansi",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "flattie",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "fontace",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "fontkitten",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "fraction.js",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "5.0.0-beta.4",
"ecosystem": "npm"
},
{
"name": "github-slugger",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "h3",
"direct": false,
"version": "1.15.11",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "20.10.2",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hast-util-to-html",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "hast-util-whitespace",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hookable",
"direct": false,
"version": "5.5.3",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "html-void-elements",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "immediate",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "iron-webcrypto",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-in-ssh",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-inside-container",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"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": "is-wsl",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "js-beautify",
"direct": false,
"version": "1.15.4",
"ecosystem": "npm"
},
{
"name": "js-cookie",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "js-md4",
"direct": false,
"version": "0.3.2",
"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-rpc-2.0",
"direct": false,
"version": "1.7.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonc-parser",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "jsonc-parser",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "jsonld",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "kolorist",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "ky",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "lie",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "lodash.groupby",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "magicast",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-hast",
"direct": false,
"version": "13.2.1",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.28",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.27.1",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mrmime",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "muggle-string",
"direct": false,
"version": "0.4.1",
"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": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "n3",
"direct": false,
"version": "1.26.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.12",
"ecosystem": "npm"
},
{
"name": "neotraverse",
"direct": false,
"version": "0.6.18",
"ecosystem": "npm"
},
{
"name": "nlcst-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch-native",
"direct": false,
"version": "1.6.7",
"ecosystem": "npm"
},
{
"name": "node-mock-http",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.47",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "7.2.1",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "ofetch",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "ohash",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "oniguruma-parser",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "oniguruma-to-es",
"direct": false,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "p-queue",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "p-timeout",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "package-manager-detector",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "pako",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "parse-ms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "perfect-debounce",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "piccolore",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.15",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.19",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "powershell-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.9.4",
"ecosystem": "npm"
},
{
"name": "pretty-ms",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "prismjs",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "process",
"direct": false,
"version": "0.11.10",
"ecosystem": "npm"
},
{
"name": "process-ancestry",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "property-information",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "proto-list",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "pure-rand",
"direct": false,
"version": "8.4.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.1",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "radix3",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "rdf-canonize",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "rdf-canonize",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "rdf-data-factory",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "rdf-data-factory",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "rdf-dataset-ext",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rdf-literal",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "rdf-literal",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "rdf-validate-datatype",
"direct": false,
"version": "0.1.5",
"ecosystem": "npm"
},
{
"name": "rdf-validate-datatype",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "rdf-validate-shacl",
"direct": false,
"version": "0.4.5",
"ecosystem": "npm"
},
{
"name": "rdf-validate-shacl",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "regex-recursion",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "regex-utilities",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "request-light",
"direct": false,
"version": "0.5.8",
"ecosystem": "npm"
},
{
"name": "request-light",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "retext-smartypants",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "robust-predicates",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.61.1",
"ecosystem": "npm"
},
{
"name": "run-applescript",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rw",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "satteri",
"direct": false,
"version": "0.9.5",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"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.3",
"ecosystem": "npm"
},
{
"name": "setimmediate",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shiki",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sirv",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "sisteransi",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "sitemap",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "smol-toml",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "space-separated-tokens",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "stream-replace-string",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "stringify-entities",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "svgo",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tiny-inflate",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyclip",
"direct": false,
"version": "0.1.15",
"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": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "totalist",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "trim-lines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "trough",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tunnel",
"direct": false,
"version": "0.0.6",
"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": "typesafe-path",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.7.3",
"ecosystem": "npm"
},
{
"name": "typescript-auto-import-cache",
"direct": false,
"version": "0.3.6",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "ultrahtml",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "uncrypto",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "underscore",
"direct": false,
"version": "1.13.8",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.27.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.2",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.24.6",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unifont",
"direct": false,
"version": "0.7.4",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-stringify-position",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit-parents",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "unplugin-utils",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "unstorage",
"direct": false,
"version": "1.17.5",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "vite-dev-rpc",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "vite-hot-client",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "vite-plugin-inspect",
"direct": false,
"version": "11.4.1",
"ecosystem": "npm"
},
{
"name": "vite-plugin-vue-devtools",
"direct": false,
"version": "8.1.5",
"ecosystem": "npm"
},
{
"name": "vite-plugin-vue-inspector",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "vitefu",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "volar-service-css",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-emmet",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-html",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-prettier",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-typescript",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-typescript-twoslash-queries",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "volar-service-yaml",
"direct": false,
"version": "0.0.71",
"ecosystem": "npm"
},
{
"name": "vscode-css-languageservice",
"direct": false,
"version": "6.3.10",
"ecosystem": "npm"
},
{
"name": "vscode-html-languageservice",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "vscode-json-languageservice",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "vscode-jsonrpc",
"direct": false,
"version": "8.2.0",
"ecosystem": "npm"
},
{
"name": "vscode-jsonrpc",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-protocol",
"direct": false,
"version": "3.17.5",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-protocol",
"direct": false,
"version": "3.18.2",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-textdocument",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-types",
"direct": false,
"version": "3.17.5",
"ecosystem": "npm"
},
{
"name": "vscode-languageserver-types",
"direct": false,
"version": "3.18.0",
"ecosystem": "npm"
},
{
"name": "vscode-nls",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "vscode-uri",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "vue-component-type-helpers",
"direct": false,
"version": "3.3.4",
"ecosystem": "npm"
},
{
"name": "vue-demi",
"direct": false,
"version": "0.14.10",
"ecosystem": "npm"
},
{
"name": "vue-tsc",
"direct": false,
"version": "2.2.12",
"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": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.0",
"ecosystem": "npm"
},
{
"name": "wsl-utils",
"direct": false,
"version": "0.3.1",
"ecosystem": "npm"
},
{
"name": "xml2js",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "11.0.1",
"ecosystem": "npm"
},
{
"name": "xxhash-wasm",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.8.3",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "yaml-language-server",
"direct": false,
"version": "1.23.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.3",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "yoctocolors",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 909,
"direct_count": 22,
"indirect_count": 887
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 120,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 3
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "ronaldtse",
"commits": 373,
"avatar_url": "https://avatars.githubusercontent.com/u/11865?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"deploy.yml",
"release-patch.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"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": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "16 out of 16 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 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": 10,
"reason": "project has 3 contributing companies or organizations -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 0,
"reason": "license file not 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": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 4,
"reason": "dependency not pinned by hash detected -- score normalized to 4",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 1,
"reason": "9 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "d42f9191a8ce01400df1ac20c3a8b31a3504c6fa",
"ran_at": "2026-07-22T05:36:58Z",
"aggregate_score": 3.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-19T14:07:39Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-19T14:06:34Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/glossarist/concept-browser",
"host": "github.com",
"name": "concept-browser",
"owner": "glossarist"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"security": 42,
"vitality": 77,
"community": 25,
"governance": 56,
"engineering": 67
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 77,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"commits_last_year": 409,
"human_commit_share": 0.77,
"days_since_last_push": 2,
"active_weeks_last_year": 12
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "12/52 weeks with commits",
"points": 8.3,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 12
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "409 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 409
}
}
],
"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": 100,
"latest_release_tag": "v0.7.77",
"releases_from_tags": false,
"days_since_latest_release": 4,
"mean_days_between_releases": 1.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~1.3 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 1.3
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "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": "critical",
"name": "Community & Adoption",
"value": 25,
"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": "critical",
"name": "Community health",
"note": null,
"notes": [],
"value": 25,
"inputs": {
"has_readme": true,
"has_license": false,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "no license file detected",
"points": 0,
"status": "missed",
"details": [
{
"code": "license_absent",
"params": {}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"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": 63,
"inputs": {
"packages": [
"@glossarist/concept-browser"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 6047
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "6,047 downloads/month across npm",
"points": 50.4,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 6047,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 56,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 20,
"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 3 contributing companies or organizations -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 70,
"inputs": {
"merged_prs": 120,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 3
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "120/123 decided PRs merged",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 120,
"decided": 123
}
}
],
"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": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 52,
"inputs": {
"followers": 0,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "glossarist",
"public_repos": 27,
"account_age_days": 2455
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "0 followers of glossarist",
"points": 0,
"status": "missed",
"details": [
{
"code": "owner_followers",
"params": {
"count": 0,
"login": "glossarist"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "27 public repos, account ~6 yr old",
"points": 22.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 27
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"@glossarist/concept-browser"
],
"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": "112 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 112
}
}
],
"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": "moderate",
"name": "Engineering Quality",
"value": 67,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "16 out of 16 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": 65,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 42,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 3.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "16 out of 16 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file not detected",
"points": 0,
"status": "missed",
"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 detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 4",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "9 existing vulnerabilities detected",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 909 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 909
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 67,
"inputs": {
"source": "osv",
"advisories": 9,
"affected_packages": 8,
"assessed_packages": 909,
"unassessed_packages": 0,
"affected_by_severity": "high 5, moderate 2, low 1",
"direct_affected_packages": 4
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "4 affected: js-yaml 4.2.0 (high 7.5), sharp 0.34.5 (high 7.3), js-yaml 5.0.0 (moderate 5.3), +1 more",
"points": 10.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 4,
"packages": "js-yaml 4.2.0 (high 7.5), sharp 0.34.5 (high 7.3), js-yaml 5.0.0 (moderate 5.3)"
}
},
{
"code": "advisories_affected_more",
"params": {
"count": 1
}
}
],
"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 has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"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": 909,
"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
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 70,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 1,
"agent_instruction_files": [
"CLAUDE.md"
],
"agent_instruction_max_bytes": 10876
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.md"
}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "77 of 77 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 77,
"sampled": 77
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 47,
"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": false,
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "dependency not pinned by hash detected -- score normalized to 4",
"points": 4,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 65953,
"source_files_sampled": 244,
"oversized_source_files": 1
},
"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": "1/244 source files over 60KB",
"points": 54.8,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 244,
"oversized": 1
}
}
],
"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:@glossarist/concept-browser@0.7.77; advisories assessed against the repository dependency graph instead"
],
"report_type": "repository",
"generated_at": "2026-07-22T05:37:10.781335Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/glossarist/concept-browser.svg",
"full_name": "glossarist/concept-browser",
"license_state": "absent",
"license_spdx": null
}