JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"network-monitoring",
"simulator"
],
"is_fork": false,
"size_kb": 28574,
"has_wiki": false,
"homepage": "https://nl6.eu",
"languages": {
"Go": 2392550,
"CSS": 57655,
"Nix": 6293,
"HTML": 19981,
"Shell": 36626,
"Makefile": 17382,
"Dockerfile": 1250,
"JavaScript": 142774,
"TypeScript": 42522,
"Go Template": 1895
},
"pushed_at": "2026-07-29T22:14:20Z",
"created_at": "2026-04-07T09:20:39Z",
"owner_type": "Organization",
"updated_at": "2026-07-29T22:13:33Z",
"description": "Open network load simulator for SNMP, NetFlow v5,v9, IPFIX, sFlow, Syslog, gNMI",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "labmonkeys-space",
"company": null,
"location": null,
"followers": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/77960060?v=4",
"created_at": "2021-01-25T08:37:51Z",
"is_verified": null,
"public_repos": 35,
"account_age_days": 2011
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.20.2",
"kind": "patch",
"published_at": "2026-07-28T13:19:05Z"
},
{
"tag": "v0.20.1",
"kind": "patch",
"published_at": "2026-07-27T21:09:54Z"
},
{
"tag": "v0.20.0",
"kind": "minor",
"published_at": "2026-07-27T14:18:55Z"
},
{
"tag": "v0.19.1",
"kind": "patch",
"published_at": "2026-07-24T23:31:29Z"
},
{
"tag": "v0.19.0",
"kind": "minor",
"published_at": "2026-07-22T21:24:09Z"
},
{
"tag": "v0.18.0",
"kind": "minor",
"published_at": "2026-07-22T16:40:17Z"
},
{
"tag": "v0.17.0",
"kind": "minor",
"published_at": "2026-07-20T23:15:45Z"
},
{
"tag": "v0.16.0",
"kind": "minor",
"published_at": "2026-07-14T10:51:02Z"
},
{
"tag": "v0.15.1",
"kind": "patch",
"published_at": "2026-07-07T23:23:29Z"
},
{
"tag": "v0.15.0",
"kind": "minor",
"published_at": "2026-07-02T20:22:43Z"
},
{
"tag": "v0.14.0",
"kind": "minor",
"published_at": "2026-07-01T08:27:39Z"
},
{
"tag": "v0.13.0",
"kind": "minor",
"published_at": "2026-06-24T16:07:18Z"
},
{
"tag": "v0.12.0",
"kind": "minor",
"published_at": "2026-06-23T01:01:06Z"
},
{
"tag": "v0.11.2",
"kind": "patch",
"published_at": "2026-06-18T21:50:24Z"
},
{
"tag": "v0.11.1",
"kind": "patch",
"published_at": "2026-06-18T18:50:07Z"
},
{
"tag": "v0.11.0",
"kind": "minor",
"published_at": "2026-06-17T21:12:20Z"
},
{
"tag": "v0.10.3",
"kind": "patch",
"published_at": "2026-06-17T16:17:25Z"
},
{
"tag": "v0.10.2",
"kind": "patch",
"published_at": "2026-06-17T11:51:05Z"
},
{
"tag": "v0.10.1",
"kind": "patch",
"published_at": "2026-06-16T17:23:44Z"
},
{
"tag": "v0.10.0",
"kind": "minor",
"published_at": "2026-06-15T16:32:52Z"
},
{
"tag": "v0.9.3",
"kind": "patch",
"published_at": "2026-06-10T08:23:40Z"
},
{
"tag": "v0.9.2",
"kind": "patch",
"published_at": "2026-06-05T21:41:00Z"
},
{
"tag": "v0.9.1",
"kind": "patch",
"published_at": "2026-05-27T20:52:17Z"
},
{
"tag": "v0.9.0",
"kind": "minor",
"published_at": "2026-05-23T21:20:54Z"
},
{
"tag": "v0.8.0",
"kind": "minor",
"published_at": "2026-05-22T07:52:44Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-05-09T00:29:35Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-05-06T08:15:44Z"
},
{
"tag": "v0.5.2",
"kind": "patch",
"published_at": "2026-04-28T10:17:27Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2026-04-24T21:39:54Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-04-24T13:42:16Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2026-04-22T09:13:28Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2026-04-21T18:08:48Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2026-04-17T23:08:30Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2026-04-17T16:00:59Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2026-04-08T23:09:00Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2026-04-07T14:50:10Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2026-04-07T14:45:08Z"
}
],
"recent_commits": [
{
"oid": "4c65480b740b233b71d31562cb81579cb758ffa3",
"body": "…nario (#385)\n\n* fix(scenario): release a scheduled start instead of stranding the scenario\n\nA pending absolute-T0 start could leave a scenario in a state no operator\ncould get out of: phase `armed`, a `scheduled_start` in the past, and\n`ScheduleStart` refusing a replacement because `startTimer` was\n[…]\nand does catch the\nremoval (phase = running).\n\nRefs #382\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(scenario): release a scheduled start instead of stranding the sce…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-29T22:13:20Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bb293194b692c5ceea15518c01dba3fae40f264f",
"body": "…ing (#384)\n\n* fix(scenario): make Arm rebuild its derived view instead of accumulating\n\nArm() corrupted three numbers an operator reconciles against. Both\ndefects are pre-existing; the code review of #383 surfaced them because\nraising the participant ceiling from an accidental ~4,400 to an explicit\n[…]\now-unused named results from Arm's signature.\n\nRefs #382\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(scenario): make Arm rebuild its derived view instead of accumulat…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-29T21:22:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a6dd93b64ac08aaa78325a5dce670a188d0e1321",
"body": "…(#383)\n\n* fix(scenario): derive the submit-body cap from a participant ceiling\n\nThe load-test submit body was capped at 64 KiB, a constant copied from\nthe create-devices handler — where it is generous, because that body\ntakes device_count and does not scale with the fleet. Scenario\nparticipants are\n[…]\n match the shipped doc and its actual source.\n\nRefs #382\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(scenario): derive the submit-body cap from a participant ceiling …",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-29T21:17:16Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee981f7fb42969ce602de60a0c6558094593070b",
"body": "sbom-action v0.24.0 bundles syft 1.42.3, which leaves eval/format\nundeclared (it ignores node_modules license files) and emits a\nversionless main-module go.mod entry. 1.46.0 — the version the SBOM\nfixes were verified against — resolves both. Dependabot bumps the\naction pin but never the bundled syft, so pin syft-version explicitly.\n\nCloses #380\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(release): pin syft to v1.46.0 in the SBOM step (#381)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T13:30:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43d524960c772d6d3f96e2bab31b39501f0c8cb9",
"body": "Bump the Nix package version (release.yml asserts it equals the tag)\nand the Helm chart appVersion; chart version 0.1.2 -> 0.1.3. Also\npoint the chart home field at https://nl6.eu — the field is spelled\n'home' in Chart.yaml, so the #378 homepage sweep missed it.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): v0.20.2 (#379)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T13:14:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e51f7edeb043599231b585d33da063146faf86f9",
"body": "The project site is live at nl6.eu (already the repo homepage on\nGitHub); the deb/rpm Homepage field and the nix meta.homepage still\npointed at the repository URL.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(packages): point package homepage at https://nl6.eu (#378)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T13:08:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6aab17494c0b4bc836708e9d863f22d61fd7e793",
"body": "The deb Maintainer and rpm Vendor fields disagreed (person vs\nlowercase domain), so SBOM tools and package queries showed two\ndifferent originators for the same artifact. Both now carry No42.org;\nMaintainer keeps the contact email per Debian Policy's 'Name <email>'\nform.\n\nVerified with stub nfpm bui\n[…]\ns read back by syft 1.46.0:\ndeb -> Person: No42.org (ronny@no42.org), rpm -> Organization: No42.org.\n\nCloses #376\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(packages): normalise deb/rpm originator to No42.org (#377)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T13:05:21Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "af5644d862c42272e2de2a478151e1de2bd33253",
"body": "The deselected actions catalogers already keep pipeline files\n(gates.yml, actions/* refs) out of the SBOM today; the path exclude\nguarantees no future syft cataloger resurfaces them. Verified the\npackage set is identical before/after (1415 packages, zero .github\nreferences).\n\nFollow-up hardening for #373.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(sbom): exclude .github/ from the SBOM scan (#375)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T13:00:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50ebd91e2c845aa8ca573662a05b8aeb89b4ba36",
"body": "The release SBOM reported 82 packages with no license: Go modules\n(syft ran without license search), GitHub Actions refs (never\nresolvable, build tooling not product), the self-cataloged dist/\nbinaries, and the docs package.json missing a license field.\n\nAdd .syft.yaml — Go license search via module\n[…]\nequire-like declare no license\nupstream, and the SPDX document root is inherent to a directory scan.\n\nCloses #373\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(sbom): resolve undeclared licenses in the release SBOM (#374)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T12:54:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f721296229133069116e29e5f526aca0dcec27fb",
"body": "Recreates the @types/react half of #371, which Dependabot closed as\nno-longer-needed after #370 pulled react 19.2.8 into the lockfile.\nLockfile-only; the package.json range (^19.0.0) already covers it.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(deps-dev): bump @types/react from 19.2.14 to 19.2.17 (#372)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-28T12:26:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71c289d0587398026edebdef9022093e40b0ca7b",
"body": "Bumps [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) from 19.2.7 to 19.2.8.\n- [Release notes](https://github.com/react/react/releases)\n- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/react/react/commits/v19.2.8/packages/re\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump react-dom from 19.2.7 to 19.2.8 (#370)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-28T12:04:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "22669473d6fe640cea2f37fc7fcc01454f068e49",
"body": "Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 4.37.1 to 4.37.3.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-act\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump github/codeql-action/upload-sarif (#369)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-28T12:04:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "197f20f0d56f35a9b5f2ea807e5ab722ad008577",
"body": "Bumps [docker/login-action](https://github.com/docker/login-action) from 4.4.0 to 4.5.2.\n- [Release notes](https://github.com/docker/login-action/releases)\n- [Commits](https://github.com/docker/login-action/compare/af1e73f918a031802d376d3c8bbc3fe56130a9b0...371161bbe7024a29a25c5e19bfcbc0804fe9ad2c)\n\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump docker/login-action from 4.4.0 to 4.5.2 (#368)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-28T12:04:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e73c25e1605a7dee23e5836df7efe0e9f82f7e1c",
"body": "Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.3 to 2.4.4.\n- [Release notes](https://github.com/ossf/scorecard-action/releases)\n- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)\n- [Commits](https://github.com/ossf/scorecard-action/compare/\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump ossf/scorecard-action from 2.4.3 to 2.4.4 (#367)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-28T12:04:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "00845aa5b04b3175247cb485e775b5e2d72df751",
"body": "package.nix -> 0.20.1 via make set-nix-version; Minion Helm chart\nappVersion -> 0.20.1, chart version -> 0.1.2.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): v0.20.1 (#366)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T21:05:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12006693b770f71fe2cc36a679d201e23c1c928b",
"body": "…ck (#365)\n\nCloses #364. The final shape after two explore passes recorded on the issue:\none CI test, one log line, one boundary paragraph — the general\nSupportedExports framework was rejected there as speculative.\n\nTestFlowCapabilityCompleteness asserts every repo device type is in\nflowProfileMap X\n[…]\nty on a\nfleet with zero Arista types would gate it to the empty set. That absence is\na decision, not an omission.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(flow): enforce type-capability completeness in CI; log the fallba…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T20:55:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1330f096275fc40885278a2ed3bdb55698a6e170",
"body": "The limitations doc and use-case 7 said supported/invalid-data-flag were\n\"tracked in #334\", which read as a promise. #334 closed by decision:\nthe supported equivalent on the OpenConfig surface IS leaf absence (the\npost-fec-ber precedent, already tested and exercised by the use-case-7\nchecks), and in\n[…]\nxists, and inventing one is the false pass this device type\nforbids. Flip both passages from promise to decision.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs(optical): record the #334 negative-states decision (#363)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T16:42:03Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ce28c817f97509cbc7f1a5eda4bc370770ed1187",
"body": "Release-prep: package.nix -> 0.20.0 via make set-nix-version, and the Minion\nHelm chart pins appVersion \"0.20.0\" (was the floating \"latest\", which with\nIfNotPresent silently kept stale images across upgrades) with the chart\nversion bumped to 0.1.1, since pinning appVersion is itself a chart change.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): v0.20.0 (#362)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T14:11:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bab04b8e36ac8a4b83927789f874136c571a40e1",
"body": "…#361)\n\nFixes #342. Supersedes #345, carrying its work forward with attribution:\nthe original diagnosis, the nfpm wiring and the smoke-test guard shape are\nSushant Kataria's; the DEP-5 swap follows the review on that PR.\n\n.deb packages shipped no /usr/share/doc/nl6/copyright (Debian Policy 12.5)\nand\n[…]\nh both guarded\nlines present.\n\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>\nCo-authored-by: Sushant Kataria <3662310+sushant-kataria@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(packages): ship a machine-readable DEP-5 copyright file in debs (…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T13:32:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d6274f44f50d71842a58f021d8ab4c2d206adce6",
"body": "…ilence-proof (#360)\n\nCloses #344. Closes #343. The two release-pipeline defects found while\nverifying v0.19.1, fixed before they bite mid-v0.20.0.\n\n## artifact-metadata: write (#344)\n\nThe docker job's attest step warned \"check that the artifact-metadata:write\npermission has been included\" and skipp\n[…]\n =\n0 bytes, --format json = 17KB of verification result). The cosign steps are\nuntouched — they report correctly.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(release): grant artifact-metadata:write; make provenance verify s…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T13:08:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5f01dccd27e92abc80a15c9a7c9e08e076f7f14b",
"body": "Both landed in #357; removing them is a content decision, not a fix.\n\nEverything that wired them in goes too, because each half-removal breaks the\ndocs build on its own: the blog plugin reverts to `blog: false` (Docusaurus\nfails on a configured-but-missing blog directory) and loses its navbar entry\n\n[…]\n back to 37 pages.\n\nVerified: orphan check 37/37, make docs-build green, and the built site\nemits no /blog route.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(docs): remove the blog and the gNMI dial-out vendor survey (#359)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T12:34:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a431b388301f07879e13740c343a3c18f0d776fc",
"body": "… (#358)\n\n* feat(optical): SD/SF threshold detection with hysteresis and soak\n\nPass 1 of #347 (tasks 6.2-6.4): detection only. Deciding WHEN a channel\ncrosses a threshold, not yet turning that into a Ciena notification.\n\n## Why a goroutine exists here at all\n\nTier C's interface notifications work be\n[…]\nat function now.\ngolangci-lint (unused) caught it in CI.\n\nAssisted-by: ClaudeCode:claude-fable-5\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): SD/SF threshold alarms via trap/syslog (Tier C wiring)…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T12:15:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dda8c4834f6311182673db622250b274560c7eda",
"body": "… survey (#357)\n\nFour additions that had been sitting as working-tree WIP, made functional and\nreview-clean before landing:\n\n- Compose bootstrapper: a one-shot service that replays\n inventory/devices.json against a freshly healthy simulator. The import\n logic is NOT duplicated — the bootstrapper i\n[…]\nrenamed file, helm\nlint clean and both checksum annotations render in helm template, sh -n on\nboth shell scripts.\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat: compose bootstrapper, Minion Helm chart, blog + dial-out vendor…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T11:38:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "24d538f89aff91e6cb135725409f419e28c141dc",
"body": "…356)\n\nCloses #335 (epic #327). The optical capability shipped over three PRs but\nnothing told a monitoring team how to use it, which is the epic's actual\ndeliverable: a team validating optical use cases against nl6 alone.\n\n`docs/reference/optical-telemetry.md` — served paths with types and units,\nt\n[…]\ned braces or angle brackets (MDX v3 would read them as JSX),\n`go test ./...` green, `make test-web` 28 checks.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs(optical): telemetry reference, limitations doc, gnmic example (#…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T08:43:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6a400a4b6b89a72938acc68d066db1fb7dc2a6ef",
"body": "* feat(optical): on-demand degradation of a named channel over REST\n\nPart of #334 (epic #327). `POST /api/v1/devices/{ip}/optical/{component}/degrade`\ndrives one optical channel across the SD-FEC threshold on demand — the tool\na monitoring team needs to validate threshold and alarm logic without\nwai\n[…]\niour as a claim that all\nattenuation is OSNR-neutral.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): on-demand degradation of a named channel over REST (#355)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-27T07:26:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c92b89f79d01a8b55b41dcd6473af451f94f13a0",
"body": "* feat(optical): serve optical state over gNMI (/components branch)\n\nCloses #331 (epic #327). `gnmic get` and `gnmic subscribe` on optical state\nnow return real values via SAMPLE / ONCE / Get.\n\nEverything lives under one prefix — `/components/component[name=$och]/\noptical-channel/` — because `optica\n[…]\ncoherent modem without OTN framing. No change needed.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): serve optical state over gNMI (/components branch) (#354)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-26T21:25:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1cf9ed180ff8f835c700b2a59879ed19176c3662",
"body": "* feat(optical): add the per-device optical health band\n\nAdd the `OpticalScenario` enum (clean | typical | degraded | failing) that\nselects a channel's steady-state optical operating band, cloning the\nestablished `IfErrorScenario` shape: a `[seed]` CLI flag for the\nauto-start batch, a per-device RES\n[…]\n full\n entries for the sibling interface scenarios.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): add the per-device optical health band (#352)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-26T20:32:36Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c7cf62c747af1f5f9e64394daf75be3073ab920a",
"body": "…353)\n\nTestScenarioScale_LedgerEqualsWire failed intermittently on main\n(\"collector received 76, report sent 75\"): reproducible 2/40 locally,\nand every failure is preceded by exactly one scenario-source fire that\nfinds a nil scenPart.\n\nThe scenario-owned scheduler's Stop() only signals its Run gorou\n[…]\nrd: for flow and\ngNMI dial-out a nil handle is the device's own legitimate post-scenario\ncadence, not a straggler.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(scenario): drop scenario-source fires whose handle is detached (#…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-26T19:49:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1085929058a4bbf1e95923bcdfed953927f529c9",
"body": "…#350)\n\nAdd `optical_cycler.go`, the analytic coherent-optical value engine, plus\nthe decimal value type the gNMI encoder needs to serve it. Nothing serves\nthese values yet — the resolver branch lands with the gNMI work.\n\nThe engine is the optical peer of `IfCounterCycler` and keeps its\ncontract: a \n[…]\ns to derive, and it sat on the block-counter read path that every\n subscribe tick hits; the read is now ~15ns.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): add the optical value engine and a gNMI decimal type (…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-25T23:04:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e8bd9db14bac8d060f6c1942d2f72816869fdf5e",
"body": "Add a Ciena Waveserver 5 coherent optical transport device type — the\nfoundation for the optical epic (#327). No telemetry behaviour yet; this\nestablishes the type, its optical inventory, and its protocol capability\nset.\n\nThe optical inventory is keyed by OCH **component name** (`OCH-1-1`), not\nby i\n[…]\nnes no CPU, memory or\n temperature objects at all, so there is no vendor OID to map without\n fabricating one.\n\nAssisted-by: ClaudeCode:claude-opus-5[1m]\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(optical): add ciena_waveserver5 device type + capability set (#349)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-25T22:28:41Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d2efd5a2a582530edf8472caf739f6a9876418e8",
"body": "* chore(docs): prune inert npm overrides and add an audit command\n\nThe docs-site overrides block had grown to nine entries, each added to force a\npatched transitive dependency. Resolving the tree with the block stripped showed\nseven of the nine no longer change anything — upstream caught up, and the\n[…]\nd still exits 0; no temp directories leak on either path.\n\nAssisted-by: ClaudeCode:claude-opus-5\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(docs): prune inert npm overrides and add an audit command (#348)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-25T20:28:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "84b206547cd88335889a069961426adec48d16b2",
"body": "Bump the hardcoded Nix package version ahead of the v0.19.1 tag. A flake cannot\nread the git tag, so this string is the one release version not derived at build\ntime, and release.yml asserts it equals the tag.\n\nvendorHash is deliberately untouched — go.mod/go.sum did not change in this\nrelease.\n\nVer\n[…]\nhe Nix sed\nparse yields 0.19.1, and a host build with -X main.Version=v0.19.1 reports\nv0.19.1 from `nl6 -version`.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): nix v0.19.1 (#340)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T23:20:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0e2f8c8c7d96d2b622bbc382eb82a1fdca5f7686",
"body": "…SON (#338)\n\nThe release attaches `nl6.sbom.spdx.json`, which is the right machine-readable\nartifact but needs tooling to read. Adds a rendered HTML companion so a reviewer\n(or a downstream consumer doing due diligence) can open one self-contained file\nand see the dependency inventory without instal\n[…]\nn and\nkeeps its current permission set.\n\nVerified: actionlint clean; zizmor --persona=regular clean (no findings).\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "ci(release): attach a self-contained HTML SBOM report alongside the J…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T23:11:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "35df3dff6c4484a228f1be4f1ff630e02cac54f0",
"body": "… (#339)\n\nzizmor 1.27.0 is yanked on PyPI. GHSA-f42p-wjw5-97qh (medium) — its debug\nlogging printed any configured GitHub credentials in cleartext. Only 1.27.0 was\naffected; 1.28.0 is the fix.\n\nThis repo was not exposed. The lint job grants `contents: read` only, checks out\nwith `persist-credentials\n[…]\no\nvisibility into it and will not offer this bump. Same for ACTIONLINT_VERSION.\nBoth need a periodic manual check.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore: bump zizmor to 1.28.0 (1.27.0 was yanked, GHSA-f42p-wjw5-97qh)…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T23:11:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f5f24cfa33d3350d7b5704fd324b5d173f86b9ef",
"body": "…337)\n\nTwo unrelated tidy-ups found while surveying the working tree.\n\n.gitignore: the loadtest runbooks tell operators to capture a scenario report\ninto the CWD (`curl .../report > report.json`, docs/reference/loadtest-runbooks.md\nand loadtest-scenarios.md), and to feed it to nl6-reconcile alongsid\n[…]\nt the project, naming one of two options\nwas the wrong omission. Adds Ko-fi with the reason someone would pick it.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore: ignore loadtest run artifacts and list Ko-fi in SPONSORS.md (#…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T22:40:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "30cc16c14042642d5ed60e82a4dff08e517839c5",
"body": "The docs site had no funding link anywhere. GitHub Sponsors and Ko-fi were\nreachable only from the repository (FUNDING.yml sidebar, README), so a reader\nwho arrives from a search engine had no path to support the project.\n\nAppends a `🍻 Sponsor ▾` disclosure to the hero eyebrow pill, after the Go\nver\n[…]\nen panel, Escape, outside-click, Tab order) is not\ncovered by CI — there is no browser-based test in the pipeline.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(docs): add a sponsor disclosure to the landing-page hero (#336)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T22:31:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1b235001739e0b5c7b17a3eb6e19b48a8e1957c3",
"body": "Add the maintainer's Ko-fi page (ko-fi.com/indigo423) alongside GitHub\nSponsors, so donors without a GitHub account can contribute too:\n\n- .github/FUNDING.yml → ko_fi: indigo423\n- README \"Support\" section → Ko-fi link\n\nDonation-only, no rewards. The software stays fully free under Apache-2.0.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat: add Ko-fi as a second donation option (#326)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T21:25:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3534e312af4a5d18c8845ca56bf269a183a1ff6",
"body": "…Scripts advisories (#325)\n\npostcss 8.5.10 -> 8.5.23 clears two high-severity Dependabot alerts on the\ndocs-site lockfile:\n\n - GHSA-6g55-p6wh-862q (<= 8.5.11) arbitrary file read via attacker-controlled\n sourceMappingURL in CSS comments\n - GHSA-r28c-9q8g-f849 (<= 8.5.17) path traversal in previ\n[…]\nng as postcss's own tightened dependency.\n\nnpm audit now reports 0 vulnerabilities and `make docs-build` succeeds.\n\nAssisted-by: ClaudeCode:claude-opus-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(deps): bump postcss and svgo to patch sourceMappingURL and remove…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T20:49:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e3df14c21cddc4f824dd6ba564d6954a0a3de5e5",
"body": "Bumps [svgo](https://github.com/svg/svgo) from 3.3.3 to 3.3.4.\n- [Release notes](https://github.com/svg/svgo/releases)\n- [Commits](https://github.com/svg/svgo/compare/v3.3.3...v3.3.4)\n\n---\nupdated-dependencies:\n- dependency-name: svgo\n dependency-version: 3.3.4\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump svgo from 3.3.3 to 3.3.4 (#321)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-24T20:26:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "337aadd013bd90dee11459fa6f06a8b2eb1c7026",
"body": "… (#323)\n\nWire the repo to the maintainer's GitHub Sponsors profile (indigo423):\n\n- .github/FUNDING.yml → Sponsor button (github: indigo423)\n- README \"Support\" section linking Sponsors and SPONSORS.md\n- SPONSORS.md acknowledgment list (donation-only, no tiers/perks)\n\nThe software stays fully free under Apache-2.0. Closes #322.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat: add donation-only funding (Sponsor button, README, SPONSORS.md)…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-24T16:35:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "885720d2acf2841e783080977a78eabcfb0df507",
"body": "Bump the Nix package version to match the v0.19.0 tag (asserted by\nrelease.yml at tag time).\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): v0.19.0 (#320)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-22T21:15:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6a622c397c0e0d7c7881c3dccf77b062b6fbd94",
"body": "Replace OpenNMS-as-implied-consumer wording with neutral phrasing across\nthe README, ops guides, and reference pages: LLDP discovery pointers\n(\"your NMS's LLDP discovery\" instead of Enlinkd), trap/syslog\nsuitability claims, UEI-matcher notes (\"collector-side pattern\nmatchers\"), the flowDirection dro\n[…]\n-IP attribution lists) and in the\nfactual description of the examples/ OpenNMS Minion compose stack.\n\nCloses #318\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: genericize vendor-specific collector references (#319)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-22T21:09:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "70c624edd58534230219e212f6a747fd6d3d7533",
"body": "…rt (#317)\n\nFidelity-mode flow scenarios now report what was sent, not just how many\nrecords: a fleet-wide applications[] block with per-(l4_proto, dst_port)\ntotals of bytes/packets/records (sent basis), avg_bytes_per_second\n(in-window bytes over the actual window — drain bytes count in totals\nbut n\n[…]\nbucket, violating\nthe documented sum(sub_windows) == in_window invariant for multi-record\ndatagrams.\n\nCloses #316\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): per-application flow traffic ground truth in the repo…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-22T20:59:22Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8e23ee2ea75cacf705461394f98b4a3465da4963",
"body": "Bump the Nix package version to match the v0.18.0 tag (asserted by\nrelease.yml at tag time).\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): v0.18.0 (#315)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-22T16:36:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a3c403cee1373f44079cda67f7a4e75bc47b32b2",
"body": "…IPFIX (#314)\n\nOpenNMS maps flows without flowDirection (IPFIX IE 61 / NetFlow v9\nDIRECTION) to direction=unknown and excludes them from every flow query,\nso nl6-seeded corpora ingest cleanly yet show zero traffic in the Flow\nDeep-Dive UI.\n\nAppend DIRECTION(61)/flowDirection(61), length 1, as the 19\n[…]\nverride and a\ndual-record ingress+egress mode are deferred until a second direction\nvalue is needed.\n\nCloses #313\n\nAssisted-by: ClaudeCode:claude-fable-5\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(flow): emit flowDirection(61) as constant ingress in NetFlow v9/…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-22T16:00:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "0b4bcc8effdb2f3b43284dc497aa2e02dac0aa16",
"body": "#311 added `# tag` comments on the FROM lines, but Dockerfile has no inline\ncomments — the tokens were parsed as extra FROM arguments and broke the RC\nimage build (\"FROM requires either one or three arguments\"). The tag is already\nvisible in the `image:tag@sha256:` reference; move the explanatory note to its\nown comment line. Validated with `docker buildx build --check` (no warnings).\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(docker): drop invalid inline FROM comments (#312)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T22:53:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b6855ac4691cbcc7dec2cd8a307e364d1f37656",
"body": "…s) (#311)\n\nPin the two Dockerfile base images to their current multi-arch manifest\ndigests, keeping the tag in a trailing comment (same convention as the\nSHA-pinned GitHub Actions). Clears the two Scorecard PinnedDependencies\ncode-scanning alerts on Dockerfile:3 and Dockerfile:22.\n\n- golang:1.26-al\n[…]\npect`; they address the exact\nsame images, so the build is unchanged (validated by the RC-image build on\nmerge).\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "build(docker): pin base images by digest (Scorecard PinnedDependencie…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T22:46:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ed8697c2e7d71f8002aa7dd5d0714c39d7de0a48",
"body": "… (#310)\n\nAll 12 open Dependabot alerts were in the Docusaurus docs-site npm tree\n(package-lock.json) — transitive build/dev dependencies that don't ship in the\nnl6 binary or container image. `npm audit fix --force` would downgrade\nDocusaurus, so pin the vulnerable transitives to each advisory's fir\n[…]\n -> 0 vulnerabilities; `make docs-build` succeeds. Revisit the\noverrides when Docusaurus updates these upstream.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(docs): override transitive npm deps to clear 12 Dependabot alerts…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T22:44:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9ccde52352f573391495637bf73092a89442eb51",
"body": "Bumps [qs](https://github.com/ljharb/qs) and [express](https://github.com/expressjs/express). These dependencies needed to be updated together.\n\nUpdates `qs` from 6.14.2 to 6.15.3\n- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/ljharb/qs/compare/v6.1\n[…]\nss\n dependency-version: 4.22.2\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump qs and express (#306)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T22:27:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1387c8ebffa6571c814760781a78cc491c3268f5",
"body": "The v0.17.0 tag run failed at \"Sign checksums (cosign keyless)\": cosign v3+\n(installed via cosign-installer v4.1.2) defaults to the new Sigstore bundle\nformat, under which --output-signature/--output-certificate are ignored and a\n--bundle path is required — with none given it errored on an empty bun\n[…]\nthe Release,\nand update RELEASING.md's verify step to `cosign verify-blob --bundle`.\n\nactionlint + zizmor clean.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(release): sign checksums with cosign's new bundle format (#308)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T22:26:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "73a0ef9210ed5ddf22d6e7ea30ca42029a3625ca",
"body": "Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 11.14.0 to 11.16.0.\n- [Release notes](https://github.com/mermaid-js/mermaid/releases)\n- [Commits](https://github.com/mermaid-js/mermaid/compare/mermaid@11.14.0...mermaid@11.16.0)\n\n---\nupdated-dependencies:\n- dependency-name: mermaid\n dependency-version: 11.16.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump mermaid from 11.14.0 to 11.16.0 (#307)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T22:26:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34652fda10d41251e397deebd0fcd0e52746011d",
"body": "Bump the Nix package version to 0.17.0, and recompute vendorHash for the grpc\n1.82.1 bump (#295) which changed go.mod/go.sum without a matching Nix vendor\nupdate — the nix-cache build had gone red on main with inconsistent vendoring.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore(release): nix v0.17.0 (#305)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T22:12:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e97ca9593539a152d28c188ad4a7b29b1e260280",
"body": "Bumps and [ws](https://github.com/websockets/ws). These dependencies needed to be updated together.\n\nUpdates `ws` from 7.5.10 to 7.5.13\n- [Release notes](https://github.com/websockets/ws/releases)\n- [Commits](https://github.com/websockets/ws/compare/7.5.10...7.5.13)\n\nUpdates `ws` from 8.20.0 to 8.2\n[…]\nws\n dependency-version: 8.21.1\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump ws (#304)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T22:09:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6bafaf2483692693817c8213f5d879c1a1f6ac77",
"body": "Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 5.2.3 to 5.2.6.\n- [Release notes](https://github.com/webpack/webpack-dev-server/releases)\n- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v5.2.6/CHANGELOG.md)\n- [Commits](https://github.com/webpack/webpac\n[…]\nver\n dependency-version: 5.2.6\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump webpack-dev-server from 5.2.3 to 5.2.6 (#303)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T22:05:31Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "61516a29e7a9eea8920fe0fd42bf29ebfb6f7e0d",
"body": "Bumps [dompurify](https://github.com/cure53/DOMPurify) from 3.4.0 to 3.4.12.\n- [Release notes](https://github.com/cure53/DOMPurify/releases)\n- [Commits](https://github.com/cure53/DOMPurify/compare/3.4.0...3.4.12)\n\n---\nupdated-dependencies:\n- dependency-name: dompurify\n dependency-version: 3.4.12\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump dompurify from 3.4.0 to 3.4.12 (#302)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T22:05:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9882957c0497dda299a4463e5dc9af77f09e3639",
"body": "Bumps [github/codeql-action/upload-sarif](https://github.com/github/codeql-action) from 3.37.1 to 4.37.1.\n- [Release notes](https://github.com/github/codeql-action/releases)\n- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/github/codeql-act\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump github/codeql-action/upload-sarif (#300)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b03daddb1d627a18cb5e8493a6fc0d0dcb137044",
"body": "Bumps [actions/setup-go](https://github.com/actions/setup-go) from 6.5.0 to 7.0.0.\n- [Release notes](https://github.com/actions/setup-go/releases)\n- [Commits](https://github.com/actions/setup-go/compare/924ae3a1cded613372ab5595356fb5720e22ba16...b7ad1dad31e06c5925ef5d2fc7ad053ef454303e)\n\n---\nupdated\n[…]\nirect:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (#299)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "59b2637d4ac608e44cd1989ae750e75760b6faf2",
"body": "Bumps alpine from 3.21 to 3.24.\n\n---\nupdated-dependencies:\n- dependency-name: alpine\n dependency-version: '3.24'\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump alpine from 3.21 to 3.24 (#298)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a362897774afa59f83ddde485e498949ed2e3ac",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb9\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (#297)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "79b0c11c5e88440ff2f78f37376d888d178af78f",
"body": "…#296)\n\nBumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 31.10.7 to 31.11.0.\n- [Release notes](https://github.com/cachix/install-nix-action/releases)\n- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)\n- [Commits](https://github.com/\n[…]\nirect:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump cachix/install-nix-action from 31.10.7 to 31.11.0 (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2031fe3fc2a58e1f5c18e2804dcebecd0ecbe6a5",
"body": "… (#295)\n\nBumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.82.0 to 1.82.1.\n- [Release notes](https://github.com/grpc/grpc-go/releases)\n- [Commits](https://github.com/grpc/grpc-go/compare/v1.82.0...v1.82.1)\n\n---\nupdated-dependencies:\n- dependency-name: google.golang.org/grpc\n d\n[…]\nirect:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 in /go…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:38Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ad083cd25d8102fc19b59ec09f0fdd6f8ee098a4",
"body": "Bumps [undici](https://github.com/nodejs/undici) from 7.25.0 to 7.28.0.\n- [Release notes](https://github.com/nodejs/undici/releases)\n- [Commits](https://github.com/nodejs/undici/compare/v7.25.0...v7.28.0)\n\n---\nupdated-dependencies:\n- dependency-name: undici\n dependency-version: 7.28.0\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump undici from 7.25.0 to 7.28.0 (#294)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99245c62d525ae89a4cfb0e55d770723a027c17a",
"body": "Bumps [websocket-driver](https://github.com/faye/websocket-driver-node) from 0.7.4 to 0.7.5.\n- [Changelog](https://github.com/faye/websocket-driver-node/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/faye/websocket-driver-node/compare/0.7.4...0.7.5)\n\n---\nupdated-dependencies:\n- dependency-na\n[…]\nver\n dependency-version: 0.7.5\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore(deps): bump websocket-driver from 0.7.4 to 0.7.5 (#293)",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-20T21:48:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "021810ccdaee05b08e6e8b35e58f28274cc5e1cc",
"body": "Housekeeping tail of audit item #5 (§7, §1).\n\n- dependabot.yml: add the `docker` ecosystem (repo-root Dockerfile) so base-image\n bumps get PRs like the gomod/github-actions/npm ecosystems already do.\n- .gitignore: add an `# AI tools` grouping header over the OpenSpec / BMad /\n per-CLI ignore blocks (they were already ignored; this just labels the group\n per the convention). No paths added or removed.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "chore: track docker deps + group AI-tools ignores (#292)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T21:28:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41385b68fe785be5e1a0be532859e276f530b02b",
"body": "Close the community half of audit item #5 (§1, §10, §14).\n\n- CONTRIBUTING.md: issue-first workflow, make-target build/test commands, the\n DCO sign-off requirement (git commit -s) and the AI-assistance policy\n (Assisted-by trailer; human signer stays responsible), Conventional Commits,\n SPDX heade\n[…]\nve\n their issue, plus a DCO / tests / SPDX / docs checklist.\n\nAll issue-form YAML validated with a YAML parser.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: add contribution & community health files (#291)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T21:28:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2291c4f8724d9a26cb20140ddb6d563823eeabca",
"body": "…rd (#290)\n\nClose the security half of audit item #5 (§8/§12).\n\n- SECURITY.md: supported-version policy (latest release only), private\n vulnerability reporting as the primary channel (now enabled on the repo) with\n ronny@no42.org as fallback, response expectations, and a pointer to the\n RELEASING\n[…]\nizmor.\n\nPrivate vulnerability reporting was enabled out-of-band via the GitHub API\n(a repo setting, not a file).\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs(security): add SECURITY.md + dependency-review + OpenSSF Scoreca…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T21:28:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8f7b4d0be3706e92ef4a814f12444e5962b2e326",
"body": "…release guard (#289)\n\nBring the release pipeline up to the supply-chain bar (audit item #4).\n\n- Draft Release: softprops now creates the GitHub Release as a draft, so a\n maintainer curates the notes and verifies the artifacts before publishing.\n- Prerelease guard: the trigger excludes prerelease t\n[…]\n validated with actionlint +\nzizmor (clean) and constructed from the standard sigstore/anchore/actions\npatterns.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "ci: harden the release — draft, cosign signing, SBOM, provenance, pre…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T21:16:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "364531a625358e7e598b6f4dc23f764ba7c00e0c",
"body": "…w (#288)\n\nThe build+test and code-quality gates were defined in three places — ci.yml's\nbuild job, quality.yml, and release.yml's own ci job — so they could drift, and\nrelease only ran build+test (never fmt/lint/vuln/sec), letting a release publish\nthrough a gate PRs enforce.\n\n- New .github/workflo\n[…]\n\n`gates / Build & Test` / `gates / Code Quality`; branch protection updated to\nmatch. actionlint + zizmor clean.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "ci: define the quality gates once in a reusable workflow_call workflo…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T20:59:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3cf07ca2224ca121675e3cf23129b388a2dd21f3",
"body": "…ast-privilege, lint gate (#287)\n\nBring every workflow up to the Actions-hygiene bar and enforce it mechanically.\n\n- Timeouts: every job now sets timeout-minutes (was: none — the 6h default).\n- Concurrency: CI/quality/packages/nix-cache/actions-lint cancel-in-progress;\n release + bench (long-runnin\n[…]\nzmor clean (0 findings). Mechanical checks pass: no unpinned\nactions, no ubuntu-latest, every job has a timeout.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "ci: Actions hygiene sweep — timeouts, concurrency, pinned runners, le…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T20:42:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "528c9ead8f6ab5eb8e57adfb37609707089bfb72",
"body": "…load-test docs (#286)\n\nThe published reference pages carried internal spec tags — (FR7), (FR30),\n(NFR-O2), (FR11/14/22/28/34/37/42) — and 'MVP scope' limitation framing that\nmean nothing to a reader and, in one case, was stale ('syslog protocol only',\nwhich the same page then contradicts by listing\n[…]\nsyslog protocol\n only' sentence in the API intro.\n\nmake docs-build clean (onBrokenAnchors/onBrokenLinks throw).\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: drop internal FR/NFR references and MVP-scope framing from the …",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T19:34:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "eb712508923c8bb1ae4edb97e11e4a6ce47e3b9d",
"body": "…on stamp (#285)\n\nnl6-reconcile existed only as source (make reconcile → gitignored go/nl6-reconcile);\npackage/Docker users following the runbook had no way to get it. Ship it:\n\n- make dist cross-compiles nl6-reconcile for linux/darwin/windows × amd64/arm64\n (it is pure Go — no TUN/netns/root — so \n[…]\nithub.com/labmonkeys-space/nl6/go/cmd/nl6-reconcile@latest\nresolves the sub-module and builds. docs-build clean.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(reconcile): distribute nl6-reconcile as release binaries + versi…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T19:28:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "10e2270ecf57dec153792e573363ca5ea8c96519",
"body": "… curate the landing (#283)\n\nRestructure the 'Load-test scenarios' reference section from one runbook + API +\nschema into a clearer five-page shape:\n\n- Overview (NEW, category landing) — concise feature description: the sent-ledger\n fidelity model, the seven gated protocols, and a map to the sub-pa\n[…]\n-> 'nl6sim' namespace naming.\n\nmake docs-build clean (onBrokenAnchors/onBrokenLinks throw; orphan guard passes).\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: split the load-test docs into Overview / Scenarios / Runbooks +…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T19:20:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b09f3f53a1e848b375ba0c9be8eedbad4e120633",
"body": "…) (#282)\n\nCodeQL go/reflected-xss (alert #20) flags w.Write(reportCSV(rep)): the report\nechoes operator-configured strings (collector, source_ip) that a browser could\nMIME-sniff as HTML off a text/csv or application/json body. Set\nX-Content-Type-Options: nosniff on every report representation so th\n[…]\ny html/template).\n\nRegression test asserts the header on the JSON, CSV, and HTML report responses.\n\nCloses #281.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(scenario): send nosniff on report responses (reflected XSS) (#281…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T15:36:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ed66c3709679e9735b37f82a74675f341b5ed188",
"body": "* style(scenario): use the nl6 wordmark in the HTML report header\n\nSwap the embedded report logo from the square badge to the horizontal wordmark\n(assets/nl6-logo-with-text-light.svg) and lay it out as a letterhead above the\nreport title — a wide wordmark reads better stacked than inline. Height-siz\n[…]\nnstead of stacking them; the pill/meta\nrow stays below.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "style(scenario): use the nl6 wordmark in the HTML report header (#280)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T15:30:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "92e2716adedb661c29ec11be1e0e45b043a74be8",
"body": "* feat(scenario): static HTML report view (?format=html)\n\nAdd a third report representation alongside JSON and CSV: GET .../report?format=html\nrenders a self-contained static HTML page (embedded CSS, no external fonts / JS /\nframeworks) for at-a-glance human review — stat cards (participants, sent, \n[…]\nntifiers, not fetches, and asserts the logo is present.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): static HTML report view (?format=html) (#279)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T13:01:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c50de382220ee5c508c4a9bed57dcacc59d500f5",
"body": "…ario windows (#278)\n\nBy default every device pushes background telemetry (flow, SNMP trap, syslog,\ngNMI dial-out) on its own cadence from startup, so a scenario's window is mixed\nwith steady noise and the fleet keeps emitting after the run. -fidelity inverts\nthis: the fleet is silent — no autonomou\n[…]\nfidelity. Full suite +\n-race green. Docs: runbook Fidelity mode section (+ IPFIX example), cli-flags,\nCLAUDE.md.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): -fidelity global flag for a silent fleet outside scen…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-20T12:33:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4f6d6eed4dc018788feac47a33c2683784349d44",
"body": "- Example 7: IPFIX-only fidelity (ODID isolation lever; data-record sequence\n legitimately 0 at T0).\n- Example 8: mixed 20% v5 / 20% v9 / 60% IPFIX fleet. A scenario is\n single-protocol (MVP one-active-at-a-time), so the mix is a device-count\n split configured with per-device flow blocks and meas\n[…]\nstart_ip/device_count/flow) and the\nterminal-scenario-replaced slot behavior. onBrokenAnchors=throw build clean.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: add IPFIX-only and mixed flow-protocol runbook examples (#277)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T20:26:48Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee7e7632e6bc4f47ebe37eb22021228320422002",
"body": "Add a 'Worked examples' section with six complete, copy-pasteable recipes —\neach shows how to start nl6 so the target protocol exports, the scenario to\nsubmit, and what to read back:\n\n1. fixed-rate syslog fidelity (deterministic sent = rate×window×devices)\n2. NetFlow v9 flow-export (per-protocol opt\n[…]\nubmit schema (rate_profile, abort_predicate) and seed\nflags; cross-links verified against onBrokenAnchors=throw.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: add worked load-test scenario examples to the runbook (#276)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T20:20:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b8a8cee2c706d5ec2b58ec1a455724dca44dd8f8",
"body": "Mermaid (@docusaurus/theme-mermaid → mermaid → @mermaid-js/parser → langium →\nvscode-languageserver-types) ships a UMD bundle whose dynamic require() webpack\ncannot statically analyze, so every docs build emitted a 'Critical dependency'\nwarning. Add a configureWebpack plugin that ignoreWarnings just\n[…]\n), keeping genuine warnings visible.\n\nVerified: make docs-build now emits zero WARNING lines and still succeeds.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "build(docs): silence benign langium UMD webpack warning (#275)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T20:01:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d4a5482e2abbbe706e03566b655337055c486744",
"body": "… orphans (#274)\n\n* docs: add load-test scenario docs to the Reference sidebar\n\nThe three loadtest reference docs (runbook, API, report schema) built but were\nabsent from sidebars.ts, so they were orphaned — reachable only by direct URL,\nnever shown in the menu (Docusaurus treats 'no sidebar' as a w\n[…]\n doc from a sidebar makes it fail with that doc listed.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "docs: wire orphaned pages into the sidebar + fail the build on future…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T15:49:07Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a420b619d46e93642b7d7c2f2eea93521f879797",
"body": "Docusaurus 3 (MDX v3) rejects HTML comments — the leading `<!--` SPDX header\non the three loadtest reference docs raised \"Unexpected character `!`\" and\nfailed the strict docs build. The Docs workflow has been red on every push\nsince these files were added (story 1.6); no other doc under docs/ carrie\n[…]\nlaceholder> tokens in these files are all inside backticks, which MDX\naccepts, so no further changes are needed.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "fix(docs): drop HTML-comment headers that broke the MDX build (#273)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T10:49:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "97c865a1c7054c2b15ca85e4644f35ae63dfea45",
"body": "…272)\n\nRecord how a run's traffic is isolated from background noise per its protocol's\nnative lever, so reconciliation works on a shared collector. metadata.run_tags\ncarries {protocol, mechanism, value, pen, pen_required, degraded, note}.\n\ntag-what-exists: the no-PEN levers (netflow9 Source ID, ipfi\n[…]\nng section (lever table + PEN degradation + the\nnl6-reconcile PHANTOM tie-in); report schema documents run_tags.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): per-protocol run tagging in report metadata (FR37) (#…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T07:06:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "81307cf5ad9e44131e1d65902bcff2f5240308fd",
"body": "* feat(tooling): nl6-reconcile CLI + complete the load-test runbook\n\nnl6-reconcile is the read-only diff helper the runbook's reconciliation step\nneeded — one command, not a spreadsheet. It outer-joins a finalized scenario\nreport against a collector's received-counts export on the report tuple\n(prot\n[…]\no golangci-lint's errcheck\npasses on the fresh package.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(tooling): nl6-reconcile CLI + complete the load-test runbook (#271)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-19T06:55:05Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f5302075864848513a391112ca2e67bbf53dea37",
"body": "The report additively carries per-time-sub-window in-window counts so it says\n*where* loss is, not just how much. Device-set localization already exists\n(per-participant counters[] rows); this adds the time dimension.\n\n- Slice the planned window [T0,T1) into a fixed N=10 equal buckets (bounded,\n wi\n[…]\n — reporting the shortened actual window would misalign an\noperator's per-bucket received tally on aborted runs.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): loss localization by time sub-window (FR28) (#270)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T15:50:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9b1be01625db0421e736d5acbeb3c3b43cb070d2",
"body": "…NFR-O2) (#269)\n\nAdd GET /api/v1/scenarios/{id}/metrics: a hand-rendered Prometheus text\nexposition (no client dep, NFR-M1) with phase + target-rate gauges and the\nledger-identity buckets as per-participant counters labeled on the report\njoin tuple (protocol, source_ip, collector). Summing a family \n[…]\nrate; for a rate_profile scenario it is\nnot the instantaneous λ(t) — disclosed in the metric HELP text and docs.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): live Prometheus gauges + structured phase logs (FR32/…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T15:34:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "074860fe64d70a0a803e668c243b5a5f5e86489f",
"body": "* feat(scenario): extended live status + scenario list (FR30/FR31)\n\nMake unattended runs observable and manageable (epic 5, story 5.1).\n\n- Controller reads: LiveCounts() sums participant ledgers with APPROXIMATE\n mid-run atomic reads (the 3.4 seam — no drain barrier); WindowBounds()\n returns the a\n[…]\nfied 60x. Pre-existing 2.4 fragility, unrelated to 5.1.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): extended live status + scenario list (FR30/FR31) (#268)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T15:13:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1d7fe3d9bf04e390bb28789588082120963deb17",
"body": "…Epic 4) (#267)\n\nProve the scale NFRs with instances, not extrapolation (epic 4, story 4.7).\nValidation-only; no production code.\n\n- MixedProducerRace (NFR-S1/S2): the shared gate/ledger increment path is\n proven race-free at 10k for syslog+flow (1.5); this adds the NEWEST sites —\n SNMP trap fireW\n[…]\nction).\n\nFull suite green; -race clean; gofmt/vet/lint clean.\n\nCovers NFR-S1/S2, NFR-P2 full validation, NFR-P3.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "test(scenario): fleet-scale validation — all gate sites race-proven (…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T14:59:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "781b4a3d8eac5d07660c3f1e09ccb65294318281",
"body": "Add NetFlow v5 as a scenario protocol so legacy v5 pipelines can be validated\ntoo (epic 4, story 4.6). The simplest of the fan-out: gating/counting ride the\ngeneric flow machinery from 4.1/4.2 unchanged.\n\n- scenarioProtocols += netflow5; flowScenarioProtocols += netflow5. v5 has no\n templates and n\n[…]\ne green; scenario/flow -race clean; gofmt/vet/lint clean.\n\nCovers per-protocol FR15/FR17-20/FR23 for NetFlow v5.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated, counted NetFlow v5 (the simplest protocol) (#266)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T14:52:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b04baa49e76c3ad2a1a8a398fa4b05a7f4cfbbd9",
"body": "…epalive (#265)\n\n* feat(scenario): gated sFlow on raw sample counts + counters_sample keepalive\n\nAdd sFlow as a scenario protocol and decide the counter-sample arming policy\n(epic 4, story 4.5).\n\n- Raw-sample counting: the generic FlowExporter.Tick gate (4.1) counts\n flow_sample DATA records raw (l\n[…]\nre it in the in-window block where it is\nactually read.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated sFlow on raw sample counts + counters_sample ke…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T14:45:13Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "edc72a4c145aa0a278b1a347b4d376bc2b16de0e",
"body": "…#264)\n\nExtend the scenario gate to SNMP traps and informs (epic 4, story 4.4).\n\nGate the trap fire funnel (FR15/FR17-20/FR23):\n- TrapExporter.scenPart + fireWithSource (verbatim shape from syslog): one\n scenPart load, decide() per the source matrix, drain admit, emitted at\n produce, outcome bucke\n[…]\n -race clean; gofmt/vet/lint clean.\n\nCovers per-protocol FR15/FR17-20/FR23 for trap+INFORM, shared-T0 invariant.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated, counted SNMP trap/INFORM with ack settlement (…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T14:11:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4ab8c07573d050415f80e87ccfe2834f73a64f73",
"body": "…g (#263)\n\nExtend the scenario gate to gNMI dial-out so stream state is proven before T0\nand stream loss is visible, never masked (epic 4, story 4.3).\n\nBoth producers gated (FR15/FR17-20/FR23 + FR16 stream arming):\n- GnmiDialoutExporter.scenPart + streamLive() + scenarioGate(now), called just\n befo\n[…]\nofmt/vet/lint clean. Docs updated.\n\nCovers per-protocol FR15/FR17-20/FR23 for gNMI dial-out, FR16 stream arming.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated, counted gNMI dial-out with silent stream armin…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T13:46:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c31ebbbaf021e069465c3d39cf4a5cb465e025d0",
"body": "Add IPFIX as a scenario protocol and resolve the D1 flow-cadence adaptation\nopen point so a scenario drives participant flow emission (epic 4, story 4.2).\n\nIPFIX gating reuses the generic FlowExporter.Tick gate from 4.1:\n- scenarioProtocols += ipfix; flowScenarioProtocols set + isFlowScenarioProtoco\n[…]\n gofmt/vet/lint clean. Docs updated.\n\nCovers per-protocol FR15/FR17-20/FR23 for IPFIX, FR16 template arming, D1.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated IPFIX export + D1 flow-cadence adaptation (#262)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T13:29:53Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9353ed104f2a5fef575a14de8f868f2bd98a530d",
"body": "… (#261)\n\nExtend the scenario gate/ledger from syslog to NetFlow v9 so a v9 fidelity\ncheck never opens the window with a data-before-template race masquerading as\nloss (epic 4, story 4.1). First protocol of the fan-out.\n\nGate the flow tick (FR15/FR17-20/FR23 + FR16 template arming):\n- FlowExporter.s\n[…]\n/lint clean. Docs: loadtest-api.md.\n\nCovers per-protocol FR15/FR17-20/FR23 for NetFlow v9, FR16 template arming.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): gated, counted NetFlow v9 export with template arming…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T12:56:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3f5f2d8768601d5d1d770a34bb5003527659bddb",
"body": "Let a scenario stop itself before drowning the collector (epic 3, story 3.4).\n\nFR7 design note resolved: an optional abort_predicate {metric, threshold,\ngrace} over the fleet-wide sum of one ledger counter (send_failures | dropped\n| deferred | sent). A watchPredicate goroutine (1s ticker, launched i\n[…]\n). Docs: loadtest-api.md.\n\nFull suite green (3x clean); scenario -race clean; gofmt/vet/lint clean.\n\nCovers FR7.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): abort predicates for runaway self-abort (FR7) (#260)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T12:35:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1391599f5c6d981ef416c46fe7f6142d2429a9a5",
"body": "* feat(scenario): cap-deferral visibility (FR22)\n\nReport deferred fires distinctly from loss so a shared global-cap throttle\nnever masquerades as pipeline loss (epic 3, story 3.3).\n\nFR22 design note resolved: the scenario scheduler counts demand at pop and\nuses a NON-BLOCKING limiter.Allow() — an ov\n[…]\ndRateExactCount 30x, cap-deferral 5x, full suite green.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\nSigned-off-by: Ronny Trommer <ronny@no42.org>\n\n---------\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): cap-deferral visibility (FR22) (#259)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T11:50:35Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b719d123d8e513cdfaf2b7e9e147878f2949b981",
"body": "Let start accept an absolute wall-clock T0 so CI-driven runs align to a\nschedule without a warm operator (epic 3, story 3.2).\n\n- ScenarioController.ScheduleStart(ctx, at): requires armed + >=1 participant;\n arms a startTimer = time.AfterFunc(at-now, Start) and stays `armed` until it\n fires. Cancel\n[…]\nocs: loadtest-api.md start section.\n\nFull suite green; scenario -race clean; gofmt/vet/lint clean.\n\nCovers FR11.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): absolute-T0 scheduled start (FR11) (#258)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T11:28:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "013119ba0746fb4365419f84b1e21532840b881d",
"body": "Replace the constant-rate stub with time-varying emission profiles so an\noperator can stress a pipeline with production-shaped load (epic 3,\nstory 3.1). Profiles: constant / linear / sine / staged.\n\nArrival times are an NHPP drawn by INVERSION of the integrated intensity\nΛ(t)=∫₀ᵗλ: a unit-rate Poiss\n[…]\nprofile reference.\n\nFull suite green; scenario/scheduler/profile -race clean; gofmt/vet/lint clean.\n\nCovers FR5.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): λ(t) rate profiles via Λ-inversion (FR5) (#257)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T11:19:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2972152a9ae929545c17d6879959e9cf0fe6bd85",
"body": "…(#256)\n\nDemonstrate the instrument's core claim rather than assert it (epic 2,\nstory 2.4): a KNOWN injected loss is recovered by the reconciliation\narithmetic loss_ratio = (sent − received) / sent.\n\n- scenario_injected_loss_test.go: a lossySink drops every Nth datagram\n deterministically (N=0 cont\n[…]\ntor-side-loss checks.\n\nFull suite green; gofmt/vet/lint clean.\n\nCovers NFR-A3 proof + example/runbook extension.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "test(scenario): injected-loss reconciliation accuracy proof (NFR-A3) …",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T10:56:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "cea540f1edb9986377d775a3c7b80aa1507ef156",
"body": "An interrupted run must never silently discard measurement data (epic 2,\nstory 2.3). 1.4 already wired abortActiveScenario() -> finish(phaseAborted);\nthis locks the FR14 contract with a deterministic test + operator docs.\n\n- scenario_abort_test.go: under synctest, run -> abort mid-window (the same\n \n[…]\ngoal (FR42), documented not tested.\n\nNo production change. Full suite green; gofmt/vet/lint clean.\n\nCovers FR14.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "test(scenario): lock the graceful-abort report artifact (FR14) (#255)",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T10:50:17Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ea91b377263503c695b9e0f2d416e4ae5742dcae",
"body": "…-trip (#254)\n\nMake reconciliation scriptable and any run exactly re-runnable (epic 2,\nstory 2.2).\n\n- metadata block (FR25): group the (config_sha256, seed, nl6_version)\n reproducibility triple + the actual RFC3339-ms T0/T1/drain_end timestamps\n under summary.metadata. Copy (config_sha256, seed) b\n[…]\n table + CSV section; api ?format=csv).\n\nFull suite green; gofmt/vet/lint/build clean.\n\nCovers FR25, FR27, FR34.\n\nAssisted-by: ClaudeCode:claude-opus-4-8\n\nSigned-off-by: Ronny Trommer <ronny@no42.org>",
"is_bot": false,
"headline": "feat(scenario): metadata fingerprint, CSV projection, reproduce round…",
"author_name": "Ronny Trommer",
"author_login": "indigo423",
"committed_at": "2026-07-18T10:43:26Z",
"body_truncated": true,
"is_coding_agent": false
}
],
"releases_count": 37,
"commits_last_year": 479,
"latest_release_at": "2026-07-28T13:19:05Z",
"latest_release_tag": "v0.20.2",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 34,
"days_since_latest_release": 1,
"mean_days_between_releases": 2.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/labmonkeys-space/nl6",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/labmonkeys-space/nl6",
"is_deprecated": false,
"latest_version": "v0.20.2",
"repository_url": "https://github.com/labmonkeys-space/nl6",
"versions_count": 37,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-28T13:14:06Z",
"latest_version_yanked": null,
"days_since_latest_publish": 1
}
]
},
"popularity": {
"forks": 1,
"stars": 3,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2026-07-25",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": null,
"open_issues_and_prs": 9
},
"ai_readiness": {
"has_nix": true,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [
"go/go.mod"
],
"largest_source_bytes": 186849,
"source_files_sampled": 230,
"oversized_source_files": 2,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 57991
},
"dependencies": {
"manifests": [
"go/go.mod",
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 22
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1,
"unknown": 1
},
"advisory_count": 2,
"affected_count": 2,
"assessed_count": 1405,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [
"go",
"npm"
],
"dependencies": [
{
"name": "github.com/aristanetworks/goarista",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20251201112602-a373d7c9f0d9"
},
{
"name": "github.com/gorilla/mux",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v1.8.1"
},
{
"name": "github.com/miekg/dns",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v1.1.72"
},
{
"name": "github.com/openconfig/gnmi",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v0.14.1"
},
{
"name": "golang.org/x/crypto",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v0.54.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "golang.org/x/time",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.0"
},
{
"name": "google.golang.org/grpc",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v1.82.1"
},
{
"name": "google.golang.org/protobuf",
"manifest": "go/go.mod",
"ecosystem": "go",
"version_constraint": "v1.36.11"
},
{
"name": "@docusaurus/core",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "3.10.2"
},
{
"name": "@docusaurus/faster",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "3.10.2"
},
{
"name": "@docusaurus/preset-classic",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "3.10.2"
},
{
"name": "@docusaurus/theme-mermaid",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "3.10.2"
},
{
"name": "@easyops-cn/docusaurus-search-local",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.55.2"
},
{
"name": "@mdx-js/react",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "clsx",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.0.0"
},
{
"name": "prism-react-renderer",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^2.3.0"
},
{
"name": "react",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-dom",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^19.2.8"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/aristanetworks/goarista",
"direct": true,
"version": "v0.0.0-20251201112602-a373d7c9f0d9",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/mux",
"direct": true,
"version": "v1.8.1",
"ecosystem": "go"
},
{
"name": "github.com/miekg/dns",
"direct": true,
"version": "v1.1.72",
"ecosystem": "go"
},
{
"name": "github.com/openconfig/gnmi",
"direct": true,
"version": "v0.14.1",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": true,
"version": "v1.82.1",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": true,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "@docusaurus/core",
"direct": true,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/faster",
"direct": true,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/preset-classic",
"direct": true,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/theme-mermaid",
"direct": true,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@easyops-cn/docusaurus-search-local",
"direct": true,
"version": "0.55.2",
"ecosystem": "npm"
},
{
"name": "@mdx-js/react",
"direct": true,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": true,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "prism-react-renderer",
"direct": true,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "react",
"direct": true,
"version": "19.2.8",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "19.2.8",
"ecosystem": "npm"
},
{
"name": "golang.org/x/mod",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.56.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.22.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/tools",
"direct": false,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260414002931-afd174a4e478",
"ecosystem": "go"
},
{
"name": "@11ty/gray-matter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@algolia/abtesting",
"direct": false,
"version": "1.21.2",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-core",
"direct": false,
"version": "1.19.2",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-core",
"direct": false,
"version": "1.19.9",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-plugin-algolia-insights",
"direct": false,
"version": "1.19.2",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-plugin-algolia-insights",
"direct": false,
"version": "1.19.9",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-shared",
"direct": false,
"version": "1.19.2",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-shared",
"direct": false,
"version": "1.19.9",
"ecosystem": "npm"
},
{
"name": "@algolia/client-abtesting",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-analytics",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-common",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-insights",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-personalization",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-query-suggestions",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/client-search",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/events",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@algolia/ingestion",
"direct": false,
"version": "1.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/monitoring",
"direct": false,
"version": "1.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/recommend",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-browser-xhr",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-fetch",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-node-http",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "@antfu/install-pkg",
"direct": false,
"version": "1.1.0",
"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.27.3",
"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.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-regexp-features-plugin",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-define-polyfill-provider",
"direct": false,
"version": "0.6.8",
"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.28.5",
"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.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-remap-async-to-generator",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.27.1",
"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/helper-wrap-function",
"direct": false,
"version": "7.28.6",
"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-bugfix-firefox-class-in-computed-class-key",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-class-field-initializer-scope",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-proposal-private-property-in-object",
"direct": false,
"version": "7.21.0-placeholder-for-preset-env.2",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-dynamic-import",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-assertions",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-unicode-sets-regex",
"direct": false,
"version": "7.18.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-arrow-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-generator-functions",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-to-generator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoped-functions",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoping",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-properties",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-static-block",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-classes",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-computed-properties",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dotall-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-keys",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-named-capturing-groups-regex",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dynamic-import",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-exponentiation-operator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-export-namespace-from",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-for-of",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-function-name",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-json-strings",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-logical-assignment-operators",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-member-expression-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-amd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-systemjs",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-umd",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-named-capturing-groups-regex",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-new-target",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-nullish-coalescing-operator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-numeric-separator",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-rest-spread",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-super",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-catch-binding",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-chaining",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-parameters",
"direct": false,
"version": "7.27.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-methods",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-property-in-object",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-property-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-constant-elements",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-display-name",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-development",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-pure-annotations",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regenerator",
"direct": false,
"version": "7.29.0",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regexp-modifiers",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-reserved-words",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-runtime",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-shorthand-properties",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-spread",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-sticky-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-template-literals",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typeof-symbol",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typescript",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-escapes",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-property-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-regex",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-sets-regex",
"direct": false,
"version": "7.28.6",
"ecosystem": "npm"
},
{
"name": "@babel/preset-env",
"direct": false,
"version": "7.29.2",
"ecosystem": "npm"
},
{
"name": "@babel/preset-modules",
"direct": false,
"version": "0.1.6-no-external-plugins",
"ecosystem": "npm"
},
{
"name": "@babel/preset-react",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/preset-typescript",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.2",
"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": "@braintree/sanitize-url",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "@chevrotain/types",
"direct": false,
"version": "11.1.2",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "@csstools/cascade-layer-name-parser",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-parser-algorithms",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@csstools/media-query-list-parser",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-alpha-function",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-cascade-layers",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-color-function",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-color-function-display-p3-linear",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-color-mix-function",
"direct": false,
"version": "3.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-color-mix-variadic-function-arguments",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-content-alt-text",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-contrast-color-function",
"direct": false,
"version": "2.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-exponential-functions",
"direct": false,
"version": "2.0.9",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-font-format-keywords",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-gamut-mapping",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-gradients-interpolation-method",
"direct": false,
"version": "5.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-hwb-function",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-ic-unit",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-initial",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-is-pseudo-class",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-light-dark-function",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-logical-float-and-clear",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-logical-overflow",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-logical-overscroll-behavior",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-logical-resize",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-logical-viewport-units",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-media-minmax",
"direct": false,
"version": "2.0.9",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-media-queries-aspect-ratio-number-values",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-nested-calc",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-normalize-display-values",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-oklab-function",
"direct": false,
"version": "4.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-position-area-property",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-progressive-custom-properties",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-property-rule-prelude-list",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-random-function",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-relative-color-syntax",
"direct": false,
"version": "3.0.12",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-scope-pseudo-class",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-sign-functions",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-stepped-value-functions",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-syntax-descriptor-syntax-production",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-system-ui-font-family",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-text-decoration-shorthand",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-trigonometric-functions",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@csstools/postcss-unset-value",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/selector-resolve-nested",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/selector-specificity",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/utilities",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@discoveryjs/json-ext",
"direct": false,
"version": "0.5.7",
"ecosystem": "npm"
},
{
"name": "@docsearch/core",
"direct": false,
"version": "4.6.3",
"ecosystem": "npm"
},
{
"name": "@docsearch/css",
"direct": false,
"version": "4.6.3",
"ecosystem": "npm"
},
{
"name": "@docsearch/react",
"direct": false,
"version": "4.6.3",
"ecosystem": "npm"
},
{
"name": "@docusaurus/babel",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/bundler",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/cssnano-preset",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/logger",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/mdx-loader",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/module-type-aliases",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-content-blog",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-content-docs",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-content-pages",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-css-cascade-layers",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-debug",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-google-analytics",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-google-gtag",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-google-tag-manager",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-sitemap",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/plugin-svgr",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/react-loadable",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "@docusaurus/theme-classic",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/theme-common",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/theme-search-algolia",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/theme-translations",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/tsconfig",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/types",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/utils",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/utils-common",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@docusaurus/utils-validation",
"direct": false,
"version": "3.10.2",
"ecosystem": "npm"
},
{
"name": "@easyops-cn/autocomplete.js",
"direct": false,
"version": "0.38.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@hapi/hoek",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "@hapi/topo",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@iconify/types",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@iconify/utils",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@jest/schemas",
"direct": false,
"version": "29.6.3",
"ecosystem": "npm"
},
{
"name": "@jest/types",
"direct": false,
"version": "29.6.3",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/source-map",
"direct": false,
"version": "0.3.11",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/base64",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/buffers",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/buffers",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/codegen",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/codegen",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-core",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-fsa",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-builtins",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-to-fsa",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-utils",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-print",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-snapshot",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/json-pack",
"direct": false,
"version": "1.21.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/json-pack",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/json-pointer",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/json-pointer",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/util",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/util",
"direct": false,
"version": "17.67.0",
"ecosystem": "npm"
},
{
"name": "@leichtgewicht/ip-codec",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@mdx-js/mdx",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@mermaid-js/parser",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/error-codes",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/runtime",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/runtime-core",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/runtime-tools",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/sdk",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@module-federation/webpack-bundler-runtime",
"direct": false,
"version": "0.22.0",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-android-arm-eabi",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-android-arm64",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-darwin-arm64",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-darwin-x64",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-freebsd-x64",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-linux-arm-gnueabihf",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-linux-arm64-gnu",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-linux-arm64-musl",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-linux-x64-gnu",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-linux-x64-musl",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-wasm32-wasi",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-win32-arm64-msvc",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-win32-ia32-msvc",
"direct": false,
"version": "1.10.4",
"ecosystem": "npm"
},
{
"name": "@node-rs/jieba-win32-x64-msvc",
"direct": false,
"version": "1.10.4",
"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": "@peculiar/asn1-cms",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-csr",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-ecc",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pfx",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pkcs8",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pkcs9",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-rsa",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-schema",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-x509",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-x509-attr",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@peculiar/x509",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "@pnpm/config.env-replace",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@pnpm/network.ca-file",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@pnpm/npm-conf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@polka/url",
"direct": false,
"version": "1.0.0-next.29",
"ecosystem": "npm"
},
{
"name": "@rspack/binding",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-darwin-arm64",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-darwin-x64",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-linux-arm64-gnu",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-linux-arm64-musl",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-linux-x64-gnu",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-linux-x64-musl",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-wasm32-wasi",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-win32-arm64-msvc",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-win32-ia32-msvc",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/binding-win32-x64-msvc",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/core",
"direct": false,
"version": "1.7.11",
"ecosystem": "npm"
},
{
"name": "@rspack/lite-tapable",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sideway/address",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "@sideway/formula",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@sideway/pinpoint",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@sinclair/typebox",
"direct": false,
"version": "0.27.10",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "5.6.0",
"ecosystem": "npm"
},
{
"name": "@slorber/react-helmet-async",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@slorber/remark-comment",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-add-jsx-attribute",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-remove-jsx-attribute",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-remove-jsx-empty-expression",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-replace-jsx-attribute-value",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-svg-dynamic-title",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-svg-em-dimensions",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-transform-react-native-svg",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-plugin-transform-svg-component",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/babel-preset",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@svgr/core",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@svgr/hast-util-to-babel-ast",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "@svgr/plugin-jsx",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@svgr/plugin-svgo",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@svgr/webpack",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@swc/core",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-arm64",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-darwin-x64",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm-gnueabihf",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-arm64-musl",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-ppc64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-s390x-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-linux-x64-musl",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-arm64-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-ia32-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/core-win32-x64-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/counter",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@swc/html",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-darwin-arm64",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-darwin-x64",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-arm-gnueabihf",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-arm64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-arm64-musl",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-ppc64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-s390x-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-x64-gnu",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-linux-x64-musl",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-win32-arm64-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-win32-ia32-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/html-win32-x64-msvc",
"direct": false,
"version": "1.15.43",
"ecosystem": "npm"
},
{
"name": "@swc/types",
"direct": false,
"version": "0.1.27",
"ecosystem": "npm"
},
{
"name": "@szmarczak/http-timer",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/bonjour",
"direct": false,
"version": "3.5.13",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/connect-history-api-fallback",
"direct": false,
"version": "1.5.4",
"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/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/eslint",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "@types/eslint-scope",
"direct": false,
"version": "3.7.7",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/estree-jsx",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "4.17.25",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.19.8",
"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/history",
"direct": false,
"version": "4.7.11",
"ecosystem": "npm"
},
{
"name": "@types/html-minifier-terser",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@types/http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/http-proxy",
"direct": false,
"version": "1.17.17",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-report",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-reports",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdx",
"direct": false,
"version": "2.0.13",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "17.0.45",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.6.0",
"ecosystem": "npm"
},
{
"name": "@types/prismjs",
"direct": false,
"version": "1.26.6",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.17",
"ecosystem": "npm"
},
{
"name": "@types/react-router",
"direct": false,
"version": "5.1.20",
"ecosystem": "npm"
},
{
"name": "@types/react-router-config",
"direct": false,
"version": "5.0.11",
"ecosystem": "npm"
},
{
"name": "@types/react-router-dom",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "@types/retry",
"direct": false,
"version": "0.12.2",
"ecosystem": "npm"
},
{
"name": "@types/sax",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.6",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@types/serve-index",
"direct": false,
"version": "1.9.4",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "1.15.10",
"ecosystem": "npm"
},
{
"name": "@types/sockjs",
"direct": false,
"version": "0.3.36",
"ecosystem": "npm"
},
{
"name": "@types/trusted-types",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "2.0.11",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/ws",
"direct": false,
"version": "8.18.1",
"ecosystem": "npm"
},
{
"name": "@types/yargs",
"direct": false,
"version": "17.0.35",
"ecosystem": "npm"
},
{
"name": "@types/yargs-parser",
"direct": false,
"version": "21.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-aix-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-loong64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-mips64el",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-riscv64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-s390x",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-sunos-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@upsetjs/venn.js",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ast",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/floating-point-hex-parser",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-api-error",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-buffer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-numbers",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-bytecode",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/helper-wasm-section",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/ieee754",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/leb128",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/utf8",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-edit",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-gen",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-opt",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wasm-parser",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@webassemblyjs/wast-printer",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "@xtuc/ieee754",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@xtuc/long",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-import-phases",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "8.3.5",
"ecosystem": "npm"
},
{
"name": "address",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.18.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "ajv-keywords",
"direct": false,
"version": "3.5.2",
"ecosystem": "npm"
},
{
"name": "ajv-keywords",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "algoliasearch",
"direct": false,
"version": "5.55.2",
"ecosystem": "npm"
},
{
"name": "algoliasearch-helper",
"direct": false,
"version": "3.29.2",
"ecosystem": "npm"
},
{
"name": "ansi-align",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-html-community",
"direct": false,
"version": "0.0.8",
"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": "3.17.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-flatten",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "array-union",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "asn1js",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "astring",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.5.2",
"ecosystem": "npm"
},
{
"name": "babel-loader",
"direct": false,
"version": "9.2.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-dynamic-import-node",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs2",
"direct": false,
"version": "0.4.17",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs3",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-corejs3",
"direct": false,
"version": "0.14.2",
"ecosystem": "npm"
},
{
"name": "babel-plugin-polyfill-regenerator",
"direct": false,
"version": "0.6.8",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.40",
"ecosystem": "npm"
},
{
"name": "batch",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "big.js",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "1.20.6",
"ecosystem": "npm"
},
{
"name": "bonjour-service",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "boxen",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "boxen",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.4",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "bundle-name",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "bytestreamjs",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cacheable-lookup",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "cacheable-request",
"direct": false,
"version": "10.2.14",
"ecosystem": "npm"
},
{
"name": "call-bind",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camel-case",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-api",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001800",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "char-regex",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "character-entities",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "character-entities-html4",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "character-entities-legacy",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "character-reference-invalid",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cheerio",
"direct": false,
"version": "1.0.0-rc.12",
"ecosystem": "npm"
},
{
"name": "cheerio",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "cheerio-select",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chrome-trace-event",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "3.9.0",
"ecosystem": "npm"
},
{
"name": "clean-css",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-boxes",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cli-table3",
"direct": false,
"version": "0.6.5",
"ecosystem": "npm"
},
{
"name": "clone-deep",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "collapse-white-space",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "colord",
"direct": false,
"version": "2.9.3",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "combine-promises",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "comlink",
"direct": false,
"version": "4.4.2",
"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": "2.20.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "common-path-prefix",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "compressible",
"direct": false,
"version": "2.0.18",
"ecosystem": "npm"
},
{
"name": "compression",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "confbox",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "config-chain",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "configstore",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "connect-history-api-fallback",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "consola",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "0.5.4",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "copy-text-to-clipboard",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "copy-webpack-plugin",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "core-js",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "core-js-compat",
"direct": false,
"version": "3.49.0",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cose-base",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cose-base",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "8.3.6",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "crypto-random-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "css-blank-pseudo",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "css-declaration-sorter",
"direct": false,
"version": "7.4.0",
"ecosystem": "npm"
},
{
"name": "css-has-pseudo",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "css-loader",
"direct": false,
"version": "6.11.0",
"ecosystem": "npm"
},
{
"name": "css-minimizer-webpack-plugin",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "css-prefers-color-scheme",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "4.3.0",
"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": "2.3.1",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssdb",
"direct": false,
"version": "8.9.0",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cssnano",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "cssnano-preset-advanced",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "cssnano-preset-default",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "cssnano-utils",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "csso",
"direct": false,
"version": "5.0.5",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "cytoscape",
"direct": false,
"version": "3.34.0",
"ecosystem": "npm"
},
{
"name": "cytoscape-cose-bilkent",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "cytoscape-fcose",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "d3",
"direct": false,
"version": "7.9.0",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": false,
"version": "2.12.1",
"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": "1.0.9",
"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-sankey",
"direct": false,
"version": "0.12.3",
"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": "1.3.7",
"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": "dagre-d3-es",
"direct": false,
"version": "7.0.14",
"ecosystem": "npm"
},
{
"name": "dayjs",
"direct": false,
"version": "1.11.20",
"ecosystem": "npm"
},
{
"name": "debounce",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "2.6.9",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decode-named-character-reference",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-extend",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "deepmerge",
"direct": false,
"version": "4.3.1",
"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": "defer-to-connect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "delaunator",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "destroy",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "detect-node",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "detect-port",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dns-packet",
"direct": false,
"version": "5.6.1",
"ecosystem": "npm"
},
{
"name": "dom-converter",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "1.4.1",
"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": "4.3.1",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "dompurify",
"direct": false,
"version": "3.4.12",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dot-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "duplexer",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.382",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "emojilib",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "emojis-list",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "emoticon",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encoding-sniffer",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "enhanced-resolve",
"direct": false,
"version": "5.20.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "es-toolkit",
"direct": false,
"version": "1.49.0",
"ecosystem": "npm"
},
{
"name": "esast-util-from-estree",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "esast-util-from-js",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-goat",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-util-attach-comments",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-build-jsx",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "estree-util-is-identifier-name",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-scope",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-to-js",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "estree-util-value-to-estree",
"direct": false,
"version": "3.5.0",
"ecosystem": "npm"
},
{
"name": "estree-util-visit",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "eta",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eval",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "express",
"direct": false,
"version": "4.22.2",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "extend-shallow",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fault",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "faye-websocket",
"direct": false,
"version": "0.11.4",
"ecosystem": "npm"
},
{
"name": "feed",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "file-loader",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "find-cache-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "flat",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "form-data-encoder",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "format",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fraction.js",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.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-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-own-enumerable-property-symbols",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "github-slugger",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "glob-to-regex.js",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "glob-to-regexp",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "global-dirs",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "13.2.2",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "got",
"direct": false,
"version": "12.6.1",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.10",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "gzip-size",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "hachure-fill",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "handle-thing",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-yarn",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "hast-util-from-parse5",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "hast-util-parse-selector",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hast-util-raw",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "hast-util-to-estree",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "hast-util-to-jsx-runtime",
"direct": false,
"version": "2.3.6",
"ecosystem": "npm"
},
{
"name": "hast-util-to-parse5",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "hast-util-whitespace",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "hastscript",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "history",
"direct": false,
"version": "4.10.1",
"ecosystem": "npm"
},
{
"name": "hoist-non-react-statics",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "hpack.js",
"direct": false,
"version": "2.1.6",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "html-minifier-terser",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "html-minifier-terser",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "html-tags",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "html-void-elements",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "html-webpack-plugin",
"direct": false,
"version": "5.6.7",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-deceiver",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "http-parser-js",
"direct": false,
"version": "0.5.10",
"ecosystem": "npm"
},
{
"name": "http-proxy",
"direct": false,
"version": "1.18.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-middleware",
"direct": false,
"version": "2.0.10",
"ecosystem": "npm"
},
{
"name": "http2-wrapper",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "hyperdyperid",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "icss-utils",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "image-size",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "immediate",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-lazy",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "infima",
"direct": false,
"version": "0.2.0-alpha.45",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "inline-style-parser",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "invariant",
"direct": false,
"version": "2.2.4",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "is-alphabetical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-alphanumerical",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-ci",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.1",
"ecosystem": "npm"
},
{
"name": "is-decimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-extendable",
"direct": false,
"version": "0.1.1",
"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-hexadecimal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-inside-container",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-installed-globally",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "is-network-error",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "is-npm",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-plain-object",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-regexp",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-typedarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-wsl",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "is-wsl",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "is-yarn-global",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isobject",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "jest-util",
"direct": false,
"version": "29.7.0",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "29.7.0",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "joi",
"direct": false,
"version": "17.13.4",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "katex",
"direct": false,
"version": "0.16.45",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "khroma",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "klaw-sync",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "latest-version",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "launch-editor",
"direct": false,
"version": "2.14.1",
"ecosystem": "npm"
},
{
"name": "layout-base",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "layout-base",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.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": "loader-runner",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "loader-utils",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash-es",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.debounce",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "lodash.memoize",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lodash.uniq",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "longest-streak",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "lower-case",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "lowercase-keys",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lunr",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "lunr-languages",
"direct": false,
"version": "1.14.0",
"ecosystem": "npm"
},
{
"name": "mark.js",
"direct": false,
"version": "8.11.1",
"ecosystem": "npm"
},
{
"name": "markdown-extensions",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-table",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "16.4.2",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-directive",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-find-and-replace",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-from-markdown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-frontmatter",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-autolink-literal",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-strikethrough",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-table",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-gfm-task-list-item",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-expression",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdx-jsx",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-mdxjs-esm",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-phrasing",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-hast",
"direct": false,
"version": "13.2.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-markdown",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.28",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.0.30",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "memfs",
"direct": false,
"version": "4.57.2",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "mermaid",
"direct": false,
"version": "11.16.0",
"ecosystem": "npm"
},
{
"name": "methods",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "micromark",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-core-commonmark",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-extension-directive",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-extension-frontmatter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-autolink-literal",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-footnote",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-strikethrough",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-table",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-tagfilter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-gfm-task-list-item",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-expression",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-jsx",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdx-md",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdxjs",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-extension-mdxjs-esm",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-destination",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-label",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-mdx-expression",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-title",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-whitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-chunked",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-classify-character",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-combine-extensions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-numeric-character-reference",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-string",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-events-to-acorn",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-util-html-tag-name",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-normalize-identifier",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-resolve-all",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-subtokenize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "1.1.0",
"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": "mime",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.33.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.18",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mini-css-extract-plugin",
"direct": false,
"version": "2.10.2",
"ecosystem": "npm"
},
{
"name": "minimalistic-assert",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "mlly",
"direct": false,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "mrmime",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "multicast-dns",
"direct": false,
"version": "7.2.5",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.4",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "no-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "node-emoji",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.50",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "nprogress",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "null-loader",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "object.assign",
"direct": false,
"version": "4.1.7",
"ecosystem": "npm"
},
{
"name": "obuf",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "on-headers",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "8.4.2",
"ecosystem": "npm"
},
{
"name": "opener",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "p-cancelable",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "p-finally",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-queue",
"direct": false,
"version": "6.6.2",
"ecosystem": "npm"
},
{
"name": "p-retry",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "p-timeout",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "package-json",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "package-manager-detector",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "param-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-entities",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-numeric-range",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "parse5-parser-stream",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "pascal-case",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "path-data-parser",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-inside",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "pkg-types",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "pkijs",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "points-on-curve",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "points-on-path",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.23",
"ecosystem": "npm"
},
{
"name": "postcss-attribute-case-insensitive",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-calc",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-clamp",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-color-functional-notation",
"direct": false,
"version": "7.0.12",
"ecosystem": "npm"
},
{
"name": "postcss-color-hex-alpha",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-color-rebeccapurple",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-colormin",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-convert-values",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-custom-media",
"direct": false,
"version": "11.0.6",
"ecosystem": "npm"
},
{
"name": "postcss-custom-properties",
"direct": false,
"version": "14.0.6",
"ecosystem": "npm"
},
{
"name": "postcss-custom-selectors",
"direct": false,
"version": "8.0.5",
"ecosystem": "npm"
},
{
"name": "postcss-dir-pseudo-class",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-discard-comments",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-discard-duplicates",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-discard-empty",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-discard-overridden",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-discard-unused",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "postcss-double-position-gradients",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-focus-visible",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-focus-within",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-font-variant",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-gap-properties",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-image-set-function",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-lab-function",
"direct": false,
"version": "7.0.12",
"ecosystem": "npm"
},
{
"name": "postcss-loader",
"direct": false,
"version": "7.3.4",
"ecosystem": "npm"
},
{
"name": "postcss-logical",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-merge-idents",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-merge-longhand",
"direct": false,
"version": "6.0.5",
"ecosystem": "npm"
},
{
"name": "postcss-merge-rules",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "postcss-minify-font-values",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-minify-gradients",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-minify-params",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-minify-selectors",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-modules-extract-imports",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-modules-local-by-default",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-modules-scope",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "postcss-modules-values",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-nesting",
"direct": false,
"version": "13.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-charset",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-display-values",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-positions",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-repeat-style",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-string",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-timing-functions",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-unicode",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-url",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-normalize-whitespace",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-opacity-percentage",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-ordered-values",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-overflow-shorthand",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-page-break",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-place",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-preset-env",
"direct": false,
"version": "10.6.1",
"ecosystem": "npm"
},
{
"name": "postcss-pseudo-class-any-link",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-idents",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-initial",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-reduce-transforms",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "postcss-replace-overflow-wrap",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-not",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-sort-media-queries",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-svgo",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "postcss-unique-selectors",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-zindex",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "pretty-error",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pretty-time",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "prismjs",
"direct": false,
"version": "1.30.0",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "prompts",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "prop-types",
"direct": false,
"version": "15.8.1",
"ecosystem": "npm"
},
{
"name": "property-information",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "proto-list",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pupa",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "pvtsutils",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "pvutils",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.3",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "2.5.3",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "react-fast-compare",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "16.13.1",
"ecosystem": "npm"
},
{
"name": "react-json-view-lite",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "react-loadable-ssr-addon-v5-slorber",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "react-router",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "react-router-config",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "react-router-dom",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "recma-build-jsx",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "recma-jsx",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "recma-parse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "recma-stringify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "reflect-metadata",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "regenerate",
"direct": false,
"version": "1.4.2",
"ecosystem": "npm"
},
{
"name": "regenerate-unicode-properties",
"direct": false,
"version": "10.2.2",
"ecosystem": "npm"
},
{
"name": "regexpu-core",
"direct": false,
"version": "6.4.0",
"ecosystem": "npm"
},
{
"name": "registry-auth-token",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "registry-url",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "regjsgen",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "regjsparser",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "rehype-raw",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "rehype-recma",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "relateurl",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "remark-directive",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "remark-emoji",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "remark-frontmatter",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "remark-gfm",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "remark-mdx",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "remark-parse",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "remark-rehype",
"direct": false,
"version": "11.1.2",
"ecosystem": "npm"
},
{
"name": "remark-stringify",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "renderkid",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "require-like",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "requires-port",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-alpn",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pathname",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "responselike",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "robust-predicates",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "roughjs",
"direct": false,
"version": "4.6.6",
"ecosystem": "npm"
},
{
"name": "rtlcss",
"direct": false,
"version": "4.3.0",
"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": "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": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.27.0",
"ecosystem": "npm"
},
{
"name": "schema-dts",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "schema-utils",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "schema-utils",
"direct": false,
"version": "4.3.3",
"ecosystem": "npm"
},
{
"name": "search-insights",
"direct": false,
"version": "2.17.3",
"ecosystem": "npm"
},
{
"name": "section-matter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "select-hose",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "selfsigned",
"direct": false,
"version": "5.5.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-diff",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "serialize-javascript",
"direct": false,
"version": "7.0.7",
"ecosystem": "npm"
},
{
"name": "serve-handler",
"direct": false,
"version": "6.1.7",
"ecosystem": "npm"
},
{
"name": "serve-index",
"direct": false,
"version": "1.9.2",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "1.16.3",
"ecosystem": "npm"
},
{
"name": "set-function-length",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shallow-clone",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "shallowequal",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shell-quote",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "sirv",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "sisteransi",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "sitemap",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "skin-tone",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "snake-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "sockjs",
"direct": false,
"version": "0.3.24",
"ecosystem": "npm"
},
{
"name": "sort-css-media-queries",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"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": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "space-separated-tokens",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "spdy",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "spdy-transport",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "srcset",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "3.10.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": "stringify-object",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-bom-string",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "style-to-js",
"direct": false,
"version": "1.1.21",
"ecosystem": "npm"
},
{
"name": "style-to-object",
"direct": false,
"version": "1.0.14",
"ecosystem": "npm"
},
{
"name": "stylehacks",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "stylis",
"direct": false,
"version": "4.3.6",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "svg-parser",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "svgo",
"direct": false,
"version": "3.3.4",
"ecosystem": "npm"
},
{
"name": "swc-loader",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "tapable",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.46.1",
"ecosystem": "npm"
},
{
"name": "terser-webpack-plugin",
"direct": false,
"version": "5.4.0",
"ecosystem": "npm"
},
{
"name": "thingies",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "thunky",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "tiny-invariant",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "tiny-warning",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "tinypool",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "totalist",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "tree-dump",
"direct": false,
"version": "1.1.0",
"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-dedent",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsyringe",
"direct": false,
"version": "4.10.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "2.19.0",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "1.6.18",
"ecosystem": "npm"
},
{
"name": "typedarray-to-buffer",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.3",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.19.2",
"ecosystem": "npm"
},
{
"name": "unicode-canonical-property-names-ecmascript",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unicode-emoji-modifier-base",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-ecmascript",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "unicode-match-property-value-ecmascript",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "unicode-property-aliases-ecmascript",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unique-string",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-position-from-estree",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-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": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "update-notifier",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "url-loader",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "utila",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "utility-types",
"direct": false,
"version": "3.11.0",
"ecosystem": "npm"
},
{
"name": "utils-merge",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "11.1.1",
"ecosystem": "npm"
},
{
"name": "value-equal",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-location",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "watchpack",
"direct": false,
"version": "2.5.1",
"ecosystem": "npm"
},
{
"name": "wbuf",
"direct": false,
"version": "1.7.3",
"ecosystem": "npm"
},
{
"name": "web-namespaces",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "webpack",
"direct": false,
"version": "5.106.2",
"ecosystem": "npm"
},
{
"name": "webpack-bundle-analyzer",
"direct": false,
"version": "4.10.2",
"ecosystem": "npm"
},
{
"name": "webpack-dev-middleware",
"direct": false,
"version": "7.4.5",
"ecosystem": "npm"
},
{
"name": "webpack-dev-server",
"direct": false,
"version": "5.2.6",
"ecosystem": "npm"
},
{
"name": "webpack-merge",
"direct": false,
"version": "5.10.0",
"ecosystem": "npm"
},
{
"name": "webpack-merge",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "webpack-sources",
"direct": false,
"version": "3.3.4",
"ecosystem": "npm"
},
{
"name": "webpackbar",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "websocket-driver",
"direct": false,
"version": "0.7.5",
"ecosystem": "npm"
},
{
"name": "websocket-extensions",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "widest-line",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "wildcard",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "7.5.13",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.1",
"ecosystem": "npm"
},
{
"name": "wsl-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xdg-basedir",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "xml-js",
"direct": false,
"version": "1.6.11",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 1405,
"direct_count": 19,
"indirect_count": 1386
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 279,
"open_issues": 9,
"closed_ratio": 0.903,
"closed_issues": 84,
"closed_unmerged_prs": 11
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "indigo423",
"commits": 297,
"avatar_url": "https://avatars.githubusercontent.com/u/1095181?v=4"
},
{
"type": "User",
"login": "saichler",
"commits": 134,
"avatar_url": "https://avatars.githubusercontent.com/u/10945812?v=4"
}
],
"contributors_sampled": 2,
"top_contributor_share": 0.689
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"actions-lint.yml",
"bench-baseline.yml",
"ci.yml",
"dependency-review.yml",
"docs.yml",
"gates.yml",
"nix-cache.yml",
"packages.yml",
"release.yml",
"scorecard.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yml"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum",
"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": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/26 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": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 9,
"reason": "dependency not pinned by hash detected -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 10,
"reason": "GitHub workflow tokens follow principle of least privilege",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 8,
"reason": "2 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "4c65480b740b233b71d31562cb81579cb758ffa3",
"ran_at": "2026-07-29T22:31:46Z",
"aggregate_score": 7.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-29T22:14:13Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-29T22:13:20Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 92,
"created_at": "2026-04-20T16:03:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 93,
"created_at": "2026-04-20T16:03:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 95,
"created_at": "2026-04-20T16:03:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 96,
"created_at": "2026-04-20T16:03:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 97,
"created_at": "2026-04-20T23:34:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 98,
"created_at": "2026-04-20T23:34:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 147,
"created_at": "2026-04-24T23:54:50Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 341,
"created_at": "2026-07-24T23:37:42Z",
"last_comment_at": "2026-07-26T20:50:23Z",
"last_comment_author": "indigo423"
},
{
"number": 346,
"created_at": "2026-07-25T19:55:16Z",
"last_comment_at": "2026-07-27T13:20:15Z",
"last_comment_author": "indigo423"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/labmonkeys-space/nl6",
"host": "github.com",
"name": "nl6",
"owner": "labmonkeys-space"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"security": 75,
"vitality": 89,
"community": 46,
"governance": 63,
"engineering": 86
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 89,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 88,
"inputs": {
"commits_last_year": 479,
"human_commit_share": 0.82,
"days_since_last_push": 0,
"active_weeks_last_year": 34
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "34/52 weeks with commits",
"points": 23.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 34
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "479 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 479
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 37,
"latest_release_tag": "v0.20.2",
"releases_from_tags": false,
"days_since_latest_release": 1,
"mean_days_between_releases": 2.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "37 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 37
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 1 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 1
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~2.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 2.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 46,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 5,
"inputs": {
"forks": 1,
"stars": 3,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "3 stars",
"points": 4.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 3
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 63,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 29,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 2,
"top_contributor_share": 0.689
},
"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 69% of commits",
"points": 7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 69
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "2 contributors",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 2
}
}
],
"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": null,
"notes": [],
"value": 79,
"inputs": {
"merged_prs": 279,
"open_issues": 9,
"closed_issues": 84,
"issue_closed_ratio": 0.903,
"closed_unmerged_prs": 11
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "90% of issues closed",
"points": 42.2,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 90
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "279/290 decided PRs merged",
"points": 36.8,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 279,
"decided": 290
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/26 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": 57,
"inputs": {
"followers": 3,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "labmonkeys-space",
"public_repos": 35,
"account_age_days": 2011
},
"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": "3 followers of labmonkeys-space",
"points": 4.3,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 3,
"login": "labmonkeys-space"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "35 public repos, account ~5 yr old",
"points": 22.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 35
}
},
{
"code": "account_age_years",
"params": {
"years": 5
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/labmonkeys-space/nl6"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 1
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 1 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 1
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "37 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 37
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 86,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "10 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 10
}
}
],
"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": ".golangci.yml",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"network-monitoring",
"simulator"
],
"has_wiki": false,
"homepage": "https://nl6.eu",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://nl6.eu",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "2 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 2
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "good",
"name": "Security",
"value": 75,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "good",
"name": "Security posture",
"note": null,
"notes": [],
"value": 72,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 7.2
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/26 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": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 9",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "GitHub workflow tokens follow principle of least privilege",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "2 existing vulnerabilities detected",
"points": 6,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 1405 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": 1405
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 89,
"inputs": {
"source": "osv",
"advisories": 2,
"affected_packages": 2,
"assessed_packages": 1405,
"unassessed_packages": 0,
"affected_by_severity": "high 1, unknown 1",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: golang.org/x/crypto v0.54.0 (unknown)",
"points": 26.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "golang.org/x/crypto v0.54.0 (unknown)"
}
}
],
"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": 1405,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 2
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 82,
"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": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 57991
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, 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": "82 of 82 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 82,
"sampled": 82
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 89,
"inputs": {
"has_nix": true,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [
"go/go.mod"
],
"dependency_bot_commit_share": 0.18
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".golangci.yml",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml"
}
}
],
"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": "Dockerfile, Nix, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, Nix, 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": "18 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 18,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 9",
"points": 9,
"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": "Go",
"largest_source_bytes": 186849,
"source_files_sampled": 230,
"oversized_source_files": 2
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "2/230 source files over 60KB",
"points": 54.5,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 230,
"oversized": 2
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-29T22:32:04.276951Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/labmonkeys-space/nl6.svg",
"full_name": "labmonkeys-space/nl6",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}