原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 5715,
"has_wiki": false,
"homepage": "https://vibed.run/",
"languages": {
"Go": 1072809,
"CSS": 39216,
"HTML": 1933,
"Shell": 11919,
"Makefile": 14734,
"Dockerfile": 19786,
"TypeScript": 83579,
"Go Template": 2994
},
"pushed_at": "2026-07-25T03:08:58Z",
"created_at": "2026-03-01T18:28:10Z",
"owner_type": "Organization",
"updated_at": "2026-07-19T19:42:51Z",
"description": null,
"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": "vibeD",
"type": "Organization",
"login": "vibed-project",
"company": null,
"location": null,
"followers": 0,
"avatar_url": "https://avatars.githubusercontent.com/u/264846961?v=4",
"created_at": "2026-03-01T18:27:40Z",
"is_verified": null,
"public_repos": 2,
"account_age_days": 147
},
"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.5.2",
"kind": "patch",
"published_at": "2026-07-19T20:07:37Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-07-09T18:38:05Z"
},
{
"tag": "v0.4.5",
"kind": "patch",
"published_at": "2026-07-07T14:13:21Z"
},
{
"tag": "v0.4.4",
"kind": "patch",
"published_at": "2026-07-06T20:57:09Z"
},
{
"tag": "v0.4.3",
"kind": "patch",
"published_at": "2026-07-05T12:05:19Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2026-07-04T15:25:38Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2026-06-17T20:16:56Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2026-06-01T08:43:57Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2026-05-23T14:16:48Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2026-03-29T18:12:03Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2026-03-15T20:04:35Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2026-03-15T08:54:25Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2026-03-12T21:22:11Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2026-03-02T19:25:18Z"
}
],
"recent_commits": [
{
"oid": "ae19cbb7ffd0be1f6647483e093930931540b02b",
"body": "release: v0.5.2",
"is_bot": false,
"headline": "Merge pull request #118 from vibed-project/release/v0.5.2",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T19:42:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0acc470572589d0820a38c14e298a9361e80b8bd",
"body": "…mments\n\ndocs: correct stale claim-uid references (#42)",
"is_bot": false,
"headline": "Merge pull request #117 from vibed-project/docs/issue-42-claim-uid-co…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T19:33:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4692a236e6e789da3de0e056c084647d5e1a32d7",
"body": "Cut v0.5.2 off main (v0.5.1's security patch was merged but never tagged, so\nthis rolls it up). Chart version/appVersion 0.5.0 -> 0.5.2, docs navbar +\nimage-tag examples -> v0.5.2.\n\nDocs brought in sync with the changes since v0.5.0:\n- config-reference: new rateLimit.writeRequestsPerSecond/writeBurs\n[…]\nev sweep #112, authorizer #113, SCIM #116,\n #41/#42, and the rolled-up v0.5.1 security patch).\n\nhelm template renders and `docs` builds clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "release: v0.5.2 (docs, config reference, CHANGELOG, version bumps)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T19:29:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d73365f525615165c0965a457923a34dc81248b3",
"body": "…(#42)\n\nThe per-app Service selector moved from agents.x-k8s.io/claim-uid to\nagents.x-k8s.io/sandbox-name-hash in 7a3e940 (agent-sandbox v0.5 filters the\nclaim-uid label off the adopted warm-pool pod, so a Service selecting on it got\nno endpoints → 502, which is #42). Two comments still described th\n[…]\nm\n status.sandbox.name (see boundPodSelector) — corrected to match.\n\nComment-only; helm template renders and the controller builds/vets clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: correct stale claim-uid references in the per-app Service path …",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T19:14:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fc43378f9cb23acbd050be651f28c49c6821653a",
"body": "feat: Public HTTP routes + OIDC provisioning hardening",
"is_bot": false,
"headline": "Merge pull request #116 from vibed-project/chore/land-public-routes-oidc",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T19:02:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "987586371e624325e7aecef9c8277fd6d231b7ac",
"body": "main widened UserStore.ListUsers/ListDepartments with (limit, offset) pagination\nsince v0.5.0; update the OIDC provisioning test's fake store to match so the\nPublic-routes + OIDC-hardening merge is green.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "test(auth): update OIDC test fakes for the widened UserStore",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T18:47:18Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "503489461b3e43233899566743baf4ea6bb1eb26",
"body": null,
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/feat/scim-support' into _trial-scim",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T18:44:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "59e3bbb36e022a6267fbf8c1d35d016ddc4de2e0",
"body": "Sev sweep (low + medium + high): quota, rate-limits, controller, GC, ConfigMap store, deploy path",
"is_bot": false,
"headline": "Merge pull request #112 from vibed-project/fix/sev-low-sweep",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T18:39:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3096b1dc091b50b279fb38c6ce45dc5464a503c5",
"body": "fix(web): show the login form on 401 over HTTP/2 (#41)",
"is_bot": false,
"headline": "Merge pull request #115 from vibed-project/fix/issue-41-http2-login",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T18:01:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f06294b3118cc7f8a7e7b0f3e41aa3782e44ac2a",
"body": "…uthorizer\n\nMerge with main brought the authorizer-scoped List (#21, PR #113): with an\nAuthorizer, List must return every app in the namespace so it can grant\nteam-scoped visibility (apps the caller doesn't own). My #74 owner-label\npre-filter, applied unconditionally, hid those team apps and broke\nT\n[…]\n == nil so the #74\noptimization applies only to the owner-only path; the authorizer path fetches\nthe full namespace and scopes via authorize().\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(deploy): only apply the owner label pre-filter when there is no A…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T18:00:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9e870f2b3b955bca4676155264b6a0ee8d062cf3",
"body": null,
"is_bot": false,
"headline": "Merge remote-tracking branch 'origin/main' into fix/sev-low-sweep",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T17:58:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "585b6128f8df6aaf36800b49552d0187db9d82fc",
"body": "The dashboard gated its login form on the whoami error message containing\n\"401\"/\"Unauthorized\", but that message was built from Response.statusText —\nwhich is always empty over HTTP/2 (the protocol dropped the reason phrase).\nBehind an HTTP/2 gateway a 401 produced an empty-reason error, so the gate\n[…]\ntatus === 401 (with the string\nchecks kept as a fallback). Also fixes the empty \"Failed to fetch X:\" messages\neverywhere.\n\ntsc --noEmit passes.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(web): show the login form on 401 over HTTP/2 (#41)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T16:19:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "af695afd07975c732db7f10586e66ac967e8f32a",
"body": "…qlite (#71)\n\nPer maintainer decision, the structural half of #71 (whole-object RMW + ~1MB\nceiling) is closed as-is: the shipped size guard already fails clearly and\npoints to sqlite instead of bricking cryptically, and the ConfigMap backend is\nnon-default. A per-object/sharded rewrite of a non-defa\n[…]\ncale characteristics on the ConfigMapStore type and the\nstore.backend config field so operators pick \"sqlite\" (the default) for many\nartifacts.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(store): document the ConfigMap backend's scale bound; steer to s…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T16:14:06Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6549850b01aab2c597609e068eb1d5c32f7f6d88",
"body": "Close the gaps between the OIDC verifier's auto-provisioning and the SAML\nprovider's:\n\n- Cross-provider bind guard: refuse an OIDC token whose `sub` collides with an\n account owned by another provider (apikey/local/saml), rejecting the token\n instead of silently operating on someone else's record.\n[…]\nrifier;\naudience is already mandatory. Explicit clock-skew tuning isn't exposed by the\nunderlying verifier — noted as a follow-up.\n\nPart of #1.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(auth): harden OIDC provisioning toward SAML parity (#17)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T16:08:11Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b8769f5e03e506cf2f389f9e03ac662530a3be3b",
"body": "Replace the earlier fixed LIMIT 500 defensive cap on ListShareLinks with real\nlimit/offset pagination, so all three list APIs (users, departments, share\nlinks) share one convention (limit<=0 = all, limit>0 pages with offset).\n\nThreads limit/offset through the store interface, the SQLite impl (via th\n[…]\n}/share-links handler reads ?limit=&offset=; MCP passes 0,0 (all),\nmatching list_users / list_departments. Fake share-link store paginates too.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(store): paginate ListShareLinks for consistency (#80)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T16:01:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "18a15f122c68922abd21ddb6d02a666b2b2d1b8f",
"body": "Let a module contribute an HTTP route that authenticates itself instead of\ngoing through the core user-auth middleware — needed for a SCIM provisioning\nAPI, which uses its own bearer token, not user API keys/sessions.\n\n- httproutes.Route gains a Public flag.\n- auth: RegisterPublicPrefix + an extensi\n[…]\nuthenticates everything else exactly as before. Test covers a\nregistered public prefix skipping auth while protected prefixes still enforce it.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(httproutes): Public routes exempt from user-auth (for SCIM)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T15:30:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e5a86a0296b178d18fc53c4cdcf7ea5535749d9f",
"body": "…ists (#80)\n\nListUsers and ListDepartments returned whole tables. Add limit/offset\n(limit<=0 = all, matching artifact ListOptions) to both interface methods and\nthe SQLite impls, and wire the /api/users and /api/departments handlers to read\n?limit=&offset=. MCP passes 0,0 (unchanged, admin-gated, al\n[…]\ner to truncate a real app's links.\n\nCompletes #80 (the created_at/api_key_hash indexes + shared_with join table\nlanded earlier in this branch).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(store): paginate the user/department list APIs; cap share-link l…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T15:28:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f48e4529fff2cb50f8bf3caab8aac6532f16a677",
"body": "The List \"shared with me\" filter used \"shared_with LIKE '%\\\"owner\\\"%'\", which\ncan't use an index, so every non-admin list did a full artifacts scan. Add an\nartifact_shares(artifact_id, owner) join table indexed on owner and query it via\nan IN-subquery, so the shared path is an indexed lookup (verifi\n[…]\n the query plan uses\nidx_artifact_shares_owner, and a simulated pre-migration DB (JSON present, index\nempty) is correctly backfilled on reopen.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(store): normalize shared_with into an indexed join table (#80)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T15:23:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cbe51917bc3441f6484358e012b60bb2cbe0bbae",
"body": "…t (#75)\n\nAuthorize counted live apps with a List and compared to the ceiling, then the\ndeploy path separately Created the CR — a TOCTOU. N concurrent deploys for the\nsame owner could each read a below-ceiling count and all proceed, overshooting\nthe ceiling (a governance/quota bypass).\n\nAdd an in-pr\n[…]\nnoted for follow-up.\n\nRegression test authorizes 20 concurrent deploys against a limit of 3 and\nasserts exactly 3 succeed (passes under -race).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(quota): reservation ledger to close the List-then-Create overshoo…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T15:14:29Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e1aab195ea469706ca303ddeac095a3586206441",
"body": null,
"is_bot": false,
"headline": "Merge pull request #113 from vibed-project/feat/authorizer-seam",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-19T15:01:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34e98a9e0874c7e8f1d7b32a938df91662708c31",
"body": "Complete the seam's coverage: the per-action authorizer now gates the legacy\norchestrator (/api/artifacts, MCP build path) in addition to /v1.\n\n- Orchestrator gains an authorizer field + SetAuthorizer; checkOwnership and\n checkWriteOwnership take the action and, when an authorizer is installed,\n d\n[…]\n writes surface as ErrNotFound.\n\nWith this, only the legacy List remains owner/admin-scoped (team-scoped List is\non /v1); noted as a follow-up.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(authz): wire the authorizer into the legacy orchestrator path",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T10:35:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c2595c5239e6aeed2ae5b8eae264ffb189291ef3",
"body": "…s (#70)\n\nEvery transitional-phase requeue used a flat 2s RequeueDelay, so an app\nwedged in Claiming (warm pool exhausted) or Starting (slow agent) re-reconciled\nevery 2s forever — with N such apps that's a sustained ~N/2 reconciles/sec of\nbusy-work (each an API Get, often plus an HTTP probe), e.g. \n[…]\nqueueDelay\nelapsed, capped at 60s. The SandboxClaim watch still delivers the real\nClaiming->Ready wakeup, so genuine transitions aren't slowed.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(controller): capped exponential backoff for transitional requeue…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T10:28:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "047d505fc5deb02dcfa2ce098c59e13915d2e375",
"body": "…s + size guard (#72, #71)\n\n#72: the store held a plain process-wide Mutex across every remote GET+Update,\nso all reads and writes serialized to ~1/(API round-trip) and the lock only\nprotected a single process (two replicas on the configmap backend could still\nclobber each other). Reads are now lock\n[…]\nientset unit tests (the existing configmap tests are envtest-gated\nbehind //go:build integration) covering CRUD round-trips and the size guard.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(store): lock-free ConfigMap reads + optimistic-concurrency write…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:42:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c37f7a3d395920876f8e9ddacd3115f915ca4ba0",
"body": "…ff (#50)\n\nRate limiting only covered /api/ and /mcp, so /v1/* — including the\nexpensive multipart deploy path — was entirely unthrottled, and it stayed\noff by default with no signal. A single authenticated user could flood\n/v1/deploy to burn CPU, tarball storage, and K8s API quota.\n\n- Extend covera\n[…]\nn at startup when rate limiting is disabled on a network transport\n rather than silently flipping the default (which could break deployments).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(ratelimit): cover /v1/*, add a stricter write budget, warn when o…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:37:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6ca2175b628fb252b2598c447446d336b207b191",
"body": "Add a seam for out-of-tree modules to contribute authenticated HTTP routes,\nneeded by the enterprise role-management API (#20).\n\n- internal/httproutes: a multi-registration Route registry (Register/Build).\n- pkg/plugin: export HTTPRoute/HTTPRouteDeps + RegisterHTTPRoutes; plus request-\n identity re\n[…]\ntes.Build(...) on the mux,\n so contributed routes run behind the auth+role middleware (each enforces its\n own RBAC). The core registers none.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(plugin): authenticated HTTP-route seam + identity readers",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:18:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3d5997f28f3e69a3db5925a2ed32590b47911eee",
"body": "Each GC sweep listed its entire matching set unpaginated (whole result in\nmemory) and deleted orphans serially, one blocking call at a time, so a\nlarge backlog made every cycle O(N) sequential round-trips and a slow delete\nnear the interval boundary could starve the next cycle.\n\nAll four sweeps (san\n[…]\n-race).\n\nThe (label-filtered) deploy List test seeds now carry vibed.dev/owner to\nmatch production, since Service.List pre-filters on it (#74).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(gc): paginate list sweeps and bound-concurrency the deletes (#76)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:15:05Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "de028f2ed9a54dc2d516942bc6ac4ac8c51b4f8d",
"body": "The deploy hot path read the full (up-to-50MB) tarball into a buffer and\nthen walked it again with sha256.Sum256. Hash it in the same pass via an\nio.TeeReader into a sha256.Hash while reading, removing one full pass over\nthe buffer on the latency-sensitive deploy path.\n\nThe buffer itself stays: the \n[…]\nld\nneed a streaming policy interface — tracked separately. Strengthened the\naudit-hash test to assert the exact sha256 of the deployed tarball.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(deploy): fuse source hashing into the read pass (#73)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:09:27Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "806f8e89e4181e44ba95d280b802138ccd2d1b19",
"body": "With auth disabled every request is treated as admin (NoAuthAdminMiddleware),\nso a non-loopback bind silently exposed the full admin API — user management,\nnamespaces, the audit trail — unauthenticated to the network.\n\nFail fast at startup in that configuration unless auth.devInsecure=true\nexplicitl\n[…]\nsecure=true (with a\ncomment) so the in-cluster :8080 bind keeps working while the posture is\nexplicit; a naked binary is now secure by default.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(server): refuse no-auth on a non-loopback bind without opt-in (#55)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:05:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5ce221e433a82aefde7ac938183e687a1b08deb0",
"body": "…(#77)\n\nResolving the bound pod for a log stream listed every sandbox-labeled pod\nin the namespace and scanned by IP on each StreamLogs open — O(pods) per\nopen. Add a FieldSelector status.podIP=<ip> so the API server returns the\none match. The exact-IP Go check stays as a backstop for clients that don't\nhonor field selectors (e.g. the fake used in tests), so correctness never\ndepends on server-side field filtering.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(deploy): narrow boundPodName with a status.podIP field selector …",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:05:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "82f8ec178a14ff5ae96aeb7a6f7c010b6a75f536",
"body": "List fetched every VibedApp in the namespace and filtered by spec.owner in\nGo — cost scaled with total apps, not the caller's. Add a\nMatchingLabels{vibed.dev/owner} selector so the API server returns only the\nowner's apps. The label is a lossy mirror of spec.owner (can collide, #66),\nso it's a coarse pre-filter only; the exact spec.owner check stays\nauthoritative. Backs API ListApps and MCP list_artifacts.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(deploy): server-side owner label pre-filter in Service.List (#74)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:05:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6fb9be715476c717586b02d7fe4c4d09ded4e569",
"body": "When an Authorizer is registered, deploy.Service.List returns every app in the\ntenant namespace the caller may read (Authorize app.get) instead of owner-only,\nso a teammate (e.g. a Viewer) sees team apps read-only. Without an Authorizer\nthe built-in owner-only scoping is unchanged.\n\nCombined with th\n[…]\notype scope: /v1 (deploy.Service) path. Legacy orchestrator List scoping\n(store ListOptions) is a follow-up for the production PR.\n\nPart of #2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(authz): authorizer-scoped List for team visibility (#21)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T09:05:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a12a441e705e5f5ccb416fd15b116db6243cad2e",
"body": "Introduce a provider-agnostic authorization seam mirroring the existing\npolicy/tenant/meter registries, so an out-of-tree module can enforce\nfine-grained, scoped RBAC in place of the built-in binary owner/admin check.\n\n- internal/authz: Authorizer interface + Request/Resource/Action + DeniedError\n \n[…]\nproduction PR. No default-path behavior changes (no authorizer → old\nowner/admin/shared semantics), verified by the existing deploy/http tests.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(authz): add per-action authorizer seam (RegisterAuthorizer)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:57:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7d2685931eca1c657f4b2693f5ddc34469fd7ca3",
"body": "acquireLogStream returned true unconditionally when the per-user cap was\n<=0, so a 0 config meant unlimited streams (each holds a goroutine + 1 MB\nbuffer) — a trivial memory-exhaustion DoS — and there was no cap across\nusers. Now <=0 falls back to a safe server default rather than unlimited,\nand a global semaphore bounds total concurrent streams across all users\nalongside the per-user map. Adds maxConcurrentLogStreamsGlobal config.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(logs): global log-stream cap + safe default for <=0 (#81)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:44:48Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ef064caee9aa50416462ac6d8463818ab8152a8a",
"body": "At the 50k cap, each new key triggered a full 50k-entry scan under the\nwrite lock to find the oldest, so an attacker rotating keys caused eviction\nthrash that degraded throughput for every client. Evict the oldest of a\nbounded random sample (approximate LRU, sample 16) instead — O(sample), not\nO(map). Keeps the existing RWMutex read fast-path, so no new per-request\ncontention.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(middleware): bounded-sample rate-limiter eviction (#62)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:44:48Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8d8334ce2e6429d4fd4f266719165aeef4e4d8c4",
"body": "Once full, the buffer shifted every element left per line\n(append(lines[:0], lines[1:]...)) — O(capacity) per write, quadratic over\na stream, under the write lock; snapshot copied the whole buffer even for\na small tail. Replace with a true circular buffer (start index + count):\neviction overwrites o\n[…]\nes start (O(1)), and snapshot copies\nonly the tail it returns. Behavior is unchanged (all existing tests pass,\nplus a wrap-around stress test).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(runneragent): O(1) circular log ring buffer (#79)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:44:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2ad55ca53b54c7af96c19d927073f24e9f26ca66",
"body": "…#66)\n\nvibed.dev/owner is a sanitized, <=63-char (lossy) mirror of spec.owner, so\ndistinct identities can collide onto one label value (alice@corp and\nalice_corp both -> alice_corp). Counting by the label alone let colliding\nowners share a quota bucket — a cross-account DoS plus a partial quota\nbypa\n[…]\noarse server-side\npre-filter (a collision can only add candidates, never drop a real match)\nand counts the apps whose exact spec.owner matches.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(quota): count against exact spec.owner, not the sanitized label (…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:44:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "edc16c213df193c26d41fe80e5c5e9179f8027a9",
"body": "The List hot path orders by created_at DESC (often with a status filter)\nwith no supporting index, and the per-request GetUserByAPIKeyHash auth\nlookup scanned the users table. Add idx_artifacts_created_at,\nidx_artifacts_status_created, and a partial idx_users_api_key_hash. All\nare CREATE INDEX IF NO\n[…]\ntable (needs a data migration) and paginating the list APIs (needs an\ninterface + frontend contract change) — are left for a focused follow-up.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(store): index the created_at ordering and api_key_hash lookup (#80)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-19T08:44:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "019aca4689e4d6a3d6c0f57bf51ec26157ae3268",
"body": "v0.5.1: security patch release (Dependabot + CodeQL)",
"is_bot": false,
"headline": "Merge pull request #110 from vibed-project/release/v0.5.1",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:53:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89d15447666d2b2bbdc36437d40d447bc657c9b8",
"body": "chore(docs): clear docs npm moderate advisories (Docusaurus 3.10.2 + uuid override)",
"is_bot": false,
"headline": "Merge pull request #111 from vibed-project/chore/docs-docusaurus-upgrade",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:41:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6d39f4cf2c8baf99a1ff128f5de269627917fc6",
"body": "The grouped Dependabot go bump (fd3cdc7) undershot two indirect deps,\nleaving them still flagged:\n- golang.org/x/net 0.54.0 -> 0.55.0 (closes GHSA-5cv4-jp36-h3mw, needs 0.55.0)\n- otel .../otlptrace/otlptracehttp 1.39.0 -> 1.43.0 (closes GHSA-w8rr-5gcm-pp58,\n needs 1.43.0; the earlier bump only moved otel/sdk to 1.43.0)\n\ngo build ./... and go test ./... pass.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "build(deps): bump x/net to 0.55.0 and otel otlptracehttp to 1.43.0",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:36:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "464f1442447758b30cdf3f05a09f46bbc951fb37",
"body": "…override)\n\nThe 18 remaining moderate advisories in docs/ were the Security tab's only\nnon-dismissed medium/low tail. They all chained down to a single leaf —\nuuid@8.3.2, bundled by sockjs → webpack-dev-server (Docusaurus's local dev\nserver); every @docusaurus/* hit was flagged only for depending on\n[…]\n0 vulnerabilities; `npm run build`\n(the Pages deploy path) and `docusaurus start` (where sockjs/uuid actually\nrun) both succeed with uuid 14.x.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(docs): clear all docs npm advisories (Docusaurus 3.10.2 + uuid …",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:34:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a0fcacb8df7a6d7f8cfa3406fbac808f44125ea9",
"body": "Add a top-level `permissions: contents: read` block so the build job's\nGITHUB_TOKEN no longer inherits the repo-default (broad) scope. The\ndeploy job keeps its own pages/id-token block. Closes the CodeQL\n`actions/missing-workflow-permissions` finding (deploy.yml build job).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "ci: set least-privilege GITHUB_TOKEN permissions on deploy workflow",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:20:50Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bebda5aa8ef7c96ec838a44ed8379181c4473049",
"body": "serialize-javascript is a transitive dep (webpack/html-webpack-plugin\nchain) that neither open dependabot PR bumps directly. Force it to\n>=7.0.5 so docs/package-lock.json carries the fixed version, closing\nGHSA-5c6j-r48x-rmvq (high) and GHSA-qj8w-gfj5-8c6v (medium).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "build(deps): pin docs' serialize-javascript via npm override (v0.5.1)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T20:12:47Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "48ca558a15c3f42dac715baf139a2134db0f19e4",
"body": "… updates\n\nBumps the npm_and_yarn group with 12 updates in the /docs directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [@babel/plugin-transform-modules-systemjs](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-modules-systemjs) | `7.29.0` | `7.29.7` |\n| [fast-uri](ht\n[…]\n-group: npm_and_yarn\n- dependency-name: vite\n dependency-version: 8.1.5\n dependency-type: direct:development\n dependency-group: npm_and_yarn\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "build(deps): Bump the npm_and_yarn group across 2 directories with 15…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-18T16:20:59Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a159d47be271b169439aa3309d241e41aae74cfc",
"body": "Address the code-scanning high findings in vibeD's own code:\n- store/audit: clamp the ListAudit limit to maxAuditLimit (1000) so a\n caller-supplied value can't drive an unbounded result-slice allocation\n (CWE-770). Both the memory and SQL stores route through auditLimit().\n- workerd/server: confir\n[…]\njection and\nsource-fetch SSRF) are by-design / runtime-mitigated and are dismissed with\njustification in code scanning; see the PR description.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Harden CodeQL-flagged paths for v0.5.1 (alloc / path / SSRF)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T16:20:29Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fd3cdc7841e06f46fe8b930191cc0cea0cc788c6",
"body": "Bumps the go_modules group with 5 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [github.com/modelcontextprotocol/go-sdk](https://github.com/modelcontextprotocol/go-sdk) | `1.4.0` | `1.4.1` |\n| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry\n[…]\ny-group: go_modules\n- dependency-name: golang.org/x/net\n dependency-version: 0.54.0\n dependency-type: indirect\n dependency-group: go_modules\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "build(deps): Bump the go_modules group across 1 directory with 6 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-18T16:12:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8499796abe2cd9b51d0718b03939db82491ae853",
"body": "Migrate agent-sandbox to v1beta1; default warm pools to 5",
"is_bot": false,
"headline": "Merge pull request #109 from vibed-project/feat/agent-sandbox-v1beta1",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-18T16:00:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a3e940dc02256028e6972dce93624515ce38b1e",
"body": "agent-sandbox v0.5 dropped the per-claim pod label\nagents.x-k8s.io/claim-uid that vibeD's per-app Service selected on,\nreplacing it with agents.x-k8s.io/sandbox-name-hash=NameHash(sandboxName).\nAgainst v0.5.2 the SandboxClaim still binds, but the Service selector\nmatched no pods, so every general-la\n[…]\nim-uid key matched nothing, so log fetch silently returned no pod.\n- Point the service / logs / deploy-endpoint test fixtures at the new label.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Fix general-lane routing + log fetch for agent-sandbox v0.5 pod labels",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T10:05:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d2d9f4f7633a56398b76072ea084143695d381a7",
"body": "agent-sandbox v0.5.0 graduated its CRDs from v1alpha1 to v1beta1 (v1alpha1\nis still served via a deprecation-warning conversion webhook, so old\ninstalls log \"... v1alpha1 SandboxWarmPool is deprecated ...\"). Target\nv1beta1 natively so a fresh install stops emitting the warning.\n\nCode + charts:\n- San\n[…]\nd into the sidebar\n- Bump the e2e workflow, the testbed chart, and prose version pins to\n v0.5.x; fix the testbed's stale \"no webhooks\" caveat\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Migrate agent-sandbox to v1beta1; default warm pools to 5",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-18T09:11:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "911f1f4598edbfd70c6c9e51a3bb9d0bd2195343",
"body": null,
"is_bot": false,
"headline": "Merge pull request #104 from vibed-project/feat/sandbox-scheduling",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-10T21:11:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d12f890db215c2d1a339e009f8b15de27f15ce27",
"body": "…lerations)\n\nruntime.nodeSelector was declared in values but only wired into the RuntimeClass\nscheduling (general lane, and only when Helm owns the RuntimeClass) — so it never\nconstrained the actual warm-pool/sandbox pods, and there was no way to tolerate a\ntaint on the sandbox node pool.\n\n- warmpoo\n[…]\nbackward-compatible (empty defaults = no scheduling constraints,\ncurrent behavior). Enables the Scaleway sandbox-pool isolation in vibed-cloud.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chart: schedule sandbox pods onto a dedicated pool (nodeSelector + to…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-10T16:59:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "02d9e69d68cbcfc2d18df43542c98c497ab881da",
"body": null,
"is_bot": false,
"headline": "Merge pull request #103 from vibed-project/docs/website-version-v0.5.0",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-10T13:37:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5dcb877193af2a25450ccd8f74440c696d417118",
"body": "The docs site still advertised v0.4.4 after the v0.5.0 release.\n\n- docusaurus.config.js: navbar release label v0.4.4 → v0.5.0.\n- deployment/production-guide.md: pinned image tags → v0.5.0.\n- configuration/custom-base-images.md + mcp-tools/list-versions.md: example\n image refs → 0.5.0.\n\nLeft the his\n[…]\nt\ndocuments the v0.4.4 ownership change) and the agent-sandbox v0.4.5+ prereqs\n(upstream version, unrelated). Verified with `docusaurus build`.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: bump website version references to v0.5.0",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T19:17:00Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3d47ee5f082825548924ed0b8282f71fc114a565",
"body": "release: prepare v0.5.0",
"is_bot": false,
"headline": "Merge pull request #102 from vibed-project/release/v0.5.0",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T18:05:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48b3c24a9a22afd680dde50b04714af1cc7316a8",
"body": "Bump the Helm chart to 0.5.0 (reconciling the 0.4.4 chart with the v0.4.5 tag)\nand add release-prep docs. No code changes; the public Go surface (pkg/api,\npkg/plugin, pkg/server) is unchanged since v0.4.5, so the new /v1 endpoints are\npurely additive.\n\n- CHANGELOG.md: new; v0.5.0 entry (versions/rol\n[…]\nid}/rollback, and the log `?follow` snapshot-vs-stream default.\n- README.md: include the `memory` metadata-store backend in the config example.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "release: prepare v0.5.0",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T17:39:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "95554f377c768c87fb59f4ff2e6192d12a98cca0",
"body": null,
"is_bot": false,
"headline": "Merge pull request #100 from vibed-project/feat/v1-sharelinks",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T17:18:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c742e05928f567b4f086ce6f05084e0ab16e87c7",
"body": null,
"is_bot": false,
"headline": "Merge pull request #101 from vibed-project/docs/manual-testing-runbook",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T17:17:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e1be0928a951fcba92994b7121da741aae7dbe8",
"body": "The dashboard's \"Create share link\" failed with 404 for VibedApps: the\nshare-link handlers validated the id against the legacy artifact store, which\ndoesn't hold VibedApps. The ShareLinkStore itself is generic (keyed by any id\nstring), so it already fits app_ids — only validation/resolution were art\n[…]\n → password-gated resolve to the app URL →\nrevoke → resolve fails.\n\nFinal slice of the dashboard /v1 migration (metrics #97, logs #98, versions\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(share-links): password-optional public links for /v1 apps",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T16:41:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0ed40f7f0fa4c33f5237fcc04ec0df696372ca90",
"body": "A hands-on release checklist that complements the automated Testing Guide:\ndeploy one app per runtime, then flip the config axes and re-verify.\n\n- Runtime matrix: the classifier's source→template→lane mapping with a minimal,\n copy-paste source and the enable-<pool> target for each of static-nginx,\n\n[…]\nexpected-failure-modes table, teardown, and a tick-box checklist.\n\nVerified with `docusaurus build` (onBrokenLinks: throw) — links + MDX clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(testing): add manual test runbook (runtimes × configs)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T16:39:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cd9e91d872e9930cb2ec6daf7c524c27ef95c8f5",
"body": "feat(versions): deploy history + rollback for /v1 apps",
"is_bot": false,
"headline": "Merge pull request #99 from vibed-project/feat/v1-versions",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T14:20:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6db3ed622ae37b37f3f2773b7445e95ee3a62541",
"body": "The dashboard's Versions view called legacy /api/artifacts/{id}/versions with\nVibedApp IDs (404), and there was no version/rollback surface on /v1. VibedApps\nalso kept no deploy history, and the source store overwrote per app name, so a\nprior version's source was gone.\n\n- Versioned source retention:\n[…]\nrs.\n\nSlice 3 of the dashboard /v1 migration (metrics #97, logs #98). Fixes the\n\"failed to fetch versions\" error from a getting-started dry run.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(versions): deploy history + rollback for /v1 apps",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T11:32:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "16a775cff6fcb3c4e9a5132ab2f98f5a3ceea138",
"body": "feat(logs): wire the dashboard to the live /v1 log stream",
"is_bot": false,
"headline": "Merge pull request #98 from vibed-project/feat/v1-logs",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T09:56:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30b429f3fac6f3921fbf9d0542e519b9b1361774",
"body": "feat(metrics): instrument the /v1 deploy path + MCP tools",
"is_bot": false,
"headline": "Merge pull request #97 from vibed-project/feat/v1-metrics",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T09:56:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a33510759c48f761e84667d7ffb4f57dec3848b",
"body": "DX quick wins: profile-menu auto-close, go/base pool targets, Goose docs",
"is_bot": false,
"headline": "Merge pull request #96 from vibed-project/chore/dx-quick-wins",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T09:56:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "146fe5b8ef3507f39d2a95641578bed48a87f259",
"body": "docs: dev-first install path + agent-sandbox/Kata clarity; chart: warmPoolsEnabled guard",
"is_bot": false,
"headline": "Merge pull request #95 from vibed-project/docs/install-dev-prod-split",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T09:56:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0b19ef293abae3cf17944d3b699fc8f89e54533",
"body": "…ipbomb\n\nHarden runner-agent source fetch: SSRF guard + decompression-bomb caps",
"is_bot": false,
"headline": "Merge pull request #94 from vibed-project/fix/source-fetch-ssrf-and-z…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-09T09:55:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef4b467951adec544b91e443fd854c7cb36b66c1",
"body": "The dashboard's fetchLogs was a hardcoded stub (\"Live logs are not yet\navailable for v0.3.1 apps\") that never called the backend — even though\n/v1/apps/{id}/logs is fully implemented (SSE over deploy.Service.StreamLogs,\nownership-checked, per-user stream cap).\n\n- Server: GET /v1/apps/{id}/logs now d\n[…]\n's existing 3s poll surfaces fresh logs; a 404 yields an empty list.\n\nFixes the stubbed live-logs viewer reported in a getting-started dry run.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(logs): wire the dashboard to the live /v1 log stream",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T07:16:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "604a61c33f0b832c6e2ce3b3f288a3af8f94f66d",
"body": "The Grafana overview's Deploy Success Rate, Active Artifacts, and MCP Tool\nUsage panels were empty: vibed_deploys_total, vibed_artifacts_active, and\nvibed_mcp_tool_calls_total were only emitted on the legacy orchestrator path,\nwhich the VibedApp /v1 architecture bypasses.\n\n- deploy.Service gains an \n[…]\nck to 0. go.mod gains one indirect dep (client_golang/testutil).\n\nFixes the three empty dashboard panels reported in a getting-started dry run.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(metrics): instrument the /v1 deploy path + MCP tools",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T07:09:38Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ba147d3bfceac9effd0337fb5e6c5699a165d444",
"body": "From the getting-started dry run:\n\n- web: the profile/Admin menu only closed by clicking the trigger again. Close\n it on outside click and Escape (useRef + document listeners) and on mouse\n leaving the wrapper, so it no longer lingers open.\n- Makefile: add build/load/enable targets for the two run\n[…]\nhad no Make targets.\n\nVerified: `tsc && vite build` (web) and the Docusaurus build are clean;\n`make -n enable-go-pool enable-base-pool` parses.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "DX quick wins: profile-menu auto-close, go/base pool targets, Goose docs",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T06:41:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5a1d52441d7ff36617f34dfc404267b86f18b685",
"body": "…arity; chart: warmPoolsEnabled guard\n\nFrom a getting-started dry run. The install page led with a production, S3-first\nhelm command and never explained the agent-sandbox prerequisite, so a fresh\ninstall failed with `no matches for kind \"SandboxTemplate\"`.\n\nDocs:\n- Rewrite getting-started/installati\n[…]\nx?\" note.\n\nVerified: `helm lint` passes; default renders all warm-pool objects,\nwarmPoolsEnabled=false renders none; Docusaurus build is clean.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(getting-started): dev-first install path + agent-sandbox/Kata cl…",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-09T06:32:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3675da74d60cfd8398700926b9485d9f92ebd817",
"body": "The runner agent fetches an untrusted source tarball by URL and extracts it.\nTwo hardening changes:\n\nSSRF (the fetch): connect only over http/https, and refuse to dial loopback,\nlink-local, or cloud metadata endpoints — checked at net.Dialer.Control (after\nDNS resolution, before connect) so a rebind\n[…]\nt entries are rejected; tarsafe\nbounds reads; netguard blocks fd00:ec2::254. Existing extraction/classifier\ntests stay green.\n\nCloses #51, #52.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Harden runner-agent source fetch: SSRF guard + decompression-bomb caps",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-08T19:08:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d12628b66866f1f4752103002e5c6911dd03450c",
"body": "…alidator\n\nfix: make the config validator consult the plugin registry",
"is_bot": false,
"headline": "Merge pull request #92 from vibed-project/fix/registry-aware-config-v…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-07T06:43:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13474e15486f196bf499a4b6e391b88c224c450a",
"body": "docs(site): refresh for v0.4.4 (release label + list_departments/share-link behavior)",
"is_bot": false,
"headline": "Merge pull request #93 from vibed-project/docs/v0.4.4-website-refresh",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-07T06:43:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f626238daa69068ca97b60850bb5128608e389ba",
"body": "- Navbar \"current release\" label was stuck at v0.4.2 → v0.4.4 (the link points\n at /releases; the label just needed bumping).\n- list_departments now requires the admin role, not any authenticated caller\n (user-management.md prose + table + section, and the tools overview table).\n- create-share-lin\n[…]\n.4 image-tag examples\nalready landed in the earlier docs refresh. No broken internal links; \"18 MCP\ntools\" count is unchanged and still correct.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(site): refresh for v0.4.4",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-07T05:35:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "101f68e8005861524eb84d0f35b999a37faab654",
"body": "pkg/plugin lets out-of-tree builds register additional store backends and auth\nmodes in the internal/store / internal/auth registries. But config.Load's\nvalidator checked store.backend / auth.mode against a hardcoded built-in\nallow-list BEFORE the registry was consulted, so a registered backend/mode\n[…]\nlugin extension surface. Tests cover: an unregistered\nbackend/mode is rejected; a registered one validates; built-ins stay valid with\nno lister.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: make the config validator consult the plugin registry",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T21:09:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5908e966328e969b8ce63f6c9956d40a142fbda2",
"body": "chore(release): prep docs + chart for v0.4.4",
"is_bot": false,
"headline": "Merge pull request #90 from vibed-project/docs/v0.4.4-release",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:42:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "946bef30b8da96a50e77cd68f18a3571fb30197c",
"body": "Docs updated for the v0.4.4 security release:\n- authentication.md: the static-key user identity is apikey-<name> (not the\n bare name), suspension is now enforced, plus a v0.4.4 upgrade caution about\n the artifact-ownership ID change (#48).\n- egress-control.md: document the metadata / DNS-rebinding\n[…]\nent-control-API auth,\n the runneragent zip-slip guard). The release build publishes 0.4.4 template\n images, so this points warm pools at them.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): prep docs and chart for v0.4.4",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:28:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "63bdbe27770748abf94bc17d6a811a2ed01c4f0c",
"body": "…a-ssrf\n\nfix: block metadata/internal egress by resolved IP (SSRF/DNS-rebind) [#46]",
"is_bot": false,
"headline": "Merge pull request #87 from vibed-project/fix/issue-46-egress-metadat…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:19:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69f43ee22cd92d62ac31ab85c934e37fd50d4bba",
"body": "The authz-side resolve-and-deny used netguard.IsBlocked, which includes\nRFC1918. The egress authz legitimately allows in-cluster system hosts (e.g. the\nserved source store, vibed.vibed-system.svc.cluster.local), whose ClusterIPs\nare RFC1918 — so it started 403'ing the runner-agent's source pull, lea\n[…]\nrmetic handler regression test (real classifier via literal IPs):\nprivate + private-system hosts → allowed, allow-listed metadata literal → 403.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(egress): authz rebind check must not deny private/in-cluster hosts",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:08:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b889ca2231104ed46d760db0b0c28caa6ba1f1bb",
"body": "fix: fail closed on artifact ownership when auth is enabled [#49]",
"is_bot": false,
"headline": "Merge pull request #89 from vibed-project/fix/issue-49-idor-ownership",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:00:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "016790f3fc5731616ec84f2deaafb114fbbeae8f",
"body": "…ser-identity\n\nfix: enforce suspension for static-API-key users via one canonical ID [#48, #63]",
"is_bot": false,
"headline": "Merge pull request #88 from vibed-project/fix/issue-48-63-suspended-u…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-06T20:00:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dddd31528748890f4f7f284b1b80c74736cca61e",
"body": "…identity\n\ncheckOwnership/checkWriteOwnership treated an empty context user as \"auth\ndisabled\" and returned nil (allow). Over MCP stdio — or any transport that\ndoesn't propagate TokenInfo into the context — UserIDFromContext is empty even\nwith auth enabled, so get_artifact_logs, rollback_artifact, a\n[…]\ns no token) is now denied owner-scoped reads/writes rather than\nserved. Deployments that expose stdio with auth enabled should account for this.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: fail closed on ownership when auth is enabled but caller has no …",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T19:43:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "bf282bf1e9dabf3a5debce48c0d08059687e79d3",
"body": "The static-key verifier put key.Name in the request context, but the\nauto-provisioned user record was stored under \"apikey-\"+key.Name and the role\nmap was keyed on key.Name. So the suspended-user check — GetUser(contextID) —\nlooked up key.Name, missed the \"apikey-\"-prefixed record, and skipped the\ns\n[…]\n bare key.Name and\nwill not match afterward. Re-key ownership or redeploy if you relied on\nstatic-key owner-scoping with pre-existing artifacts.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: enforce suspension for static-API-key users via one canonical ID",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T19:32:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "20d3950cbf978747d78bf556db396140a88219cb",
"body": "fix: security & performance quick-wins from the review backlog",
"is_bot": false,
"headline": "Merge pull request #86 from vibed-project/fix/security-perf-quick-wins",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-06T19:28:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ef3c8d8566a157a71d2637eb5b44ff1d728f11f",
"body": "The egress allow-list authorized a hostname string that Squid then re-resolved\nand connected to by name, with no deny on private/link-local/metadata ranges\nanywhere. An attacker who got an allow-listed domain to resolve to\n169.254.169.254 (cloud metadata) or an internal IP could reach it via a\nCONNE\n[…]\n(#52) is deferred: a blanket private-IP block there breaks the dev\n\"served\" pull and needs a prod/dev policy decision. netguard is ready for it.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: block metadata/internal egress by resolved IP (SSRF/DNS-rebind)",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T19:23:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6dcb552109bceeec909e129822e399d976a2e9a5",
"body": "Security:\n- #54 workerd-loader: stop defaulting -token to $VIBED_AGENT_TOKEN; the\n flag package renders defaults in -h/usage, leaking the live control-API\n token to stderr. Fall back to the env var after flag.Parse().\n- #58 share-link: return 400 on a non-empty but unparseable expires_in\n instead\n[…]\nre actually scraped.\n- #78 logs: set a 1MB scanner buffer on the non-streaming get_artifact_logs\n path so long lines aren't silently truncated.\n\nCo-Authored-By: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: security and performance quick-wins from the review backlog",
"author_name": "Max Korbacher",
"author_login": "mkorbi",
"committed_at": "2026-07-06T19:10:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "81049b3b376c6a5a8fb77d9e0cf95f7df31bc10c",
"body": "security: authenticate the agent control API by default (finish #45)",
"is_bot": false,
"headline": "Merge pull request #85 from vibed-project/security/agent-auth-default",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:47:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6823221689ee34e4d211d10203f7e68d6b1a765",
"body": "The v0.4.3 hardening wired the agent token end-to-end but left it off unless an\noperator created the Secret, so the shipped default was still unauthenticated.\nAdd a chart-managed agent-token Secret (agentAuth.autoGenerate, default true)\nthat generates one token and creates it in both the release nam\n[…]\n up and reused across upgrades. The control API is now\nauthenticated out of the box; set autoGenerate=false to manage it yourself.\n\nCloses #45.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "security: authenticate the agent control API by default (finish #45)",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:46:48Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f06a1e182ad4710425972a4e7b88d0007d935cb4",
"body": "…opers\n\ndocs(blog): finalize v0.4.x recap + citizen-developer posts (byline, date, cleanup)",
"is_bot": false,
"headline": "Merge pull request #84 from vibed-project/blog/v0.4-and-citizen-devel…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:33:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8bc582f365fcc1c286bc01be30cffe4f5f1112b",
"body": "- byline -> vibed-team on the v0.4.x recap and the v0.3.1 post\n- rename the v0.4.x recap to a 2026-07-01 publish date\n- editorial cleanup pass on the citizen-developer post\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(blog): finalize v0.4.x recap + citizen-developer posts",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:30:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6bd4796b975d41fb7347564af5cc4c1964868110",
"body": "…opers\n\ndocs(blog): v0.4.x recap + citizen-developer governance posts",
"is_bot": false,
"headline": "Merge pull request #83 from vibed-project/blog/v0.4-and-citizen-devel…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:29:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60e9c49c9a6839f40b7a0efc087fc7c4c10f40e3",
"body": "… Firecracker optional)\n\nThe concept/intro/install docs said 'Kata + Firecracker microVM', implying\nFirecracker is the hypervisor. The shipped default RuntimeClass is kata-qemu;\nFirecracker (kata-fc) is an opt-in for KVM/bare-metal. Reword accordingly.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: clarify general-lane isolation is a Kata microVM (QEMU default,…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:26:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "479ef798cfc3ab0ba7a1c187b9ff55bd0291e939",
"body": "…ult, Firecracker optional)\n\nThe citizen-developer post said every app runs in a 'Kata + Firecracker\nmicroVM'. Accurate version: only the general lane runs in a Kata microVM, the\ndefault hypervisor is QEMU (kata-qemu) with Firecracker (kata-fc) as a\nKVM/bare-metal option, and the fast lane (workerd/static) is not a microVM.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(blog): correct the isolation claim (Kata general lane; QEMU defa…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T11:23:53Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f6d68ee7e101f5adcbe0b57a32a0c63e04ec9ce4",
"body": "Two blog posts:\n- \"vibeD v0.4.x — Governance, a Build-Free Core, and Extension Points\":\n what v0.4.0–v0.4.3 introduced (egress/quotas/audit/BYO images, the\n build-free core, the extension registries + pkg/plugin, secure-by-default).\n- \"A governed home for your citizen developers' AI apps\": how the\n[…]\nitizen developers a fast but\n isolated, scoped, owned, and auditable place to ship AI-built tools.\n\nDocusaurus build is green (links resolve).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs(blog): add v0.4.x recap and citizen-developer governance posts",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T10:24:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "75ca5fb443ffc1a96a390e7b859a004e5240972d",
"body": "security: harden auth defaults, agent control API, and production values",
"is_bot": false,
"headline": "Merge pull request #82 from vibed-project/v0.4.3",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-05T10:14:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfc3df2fdad1804a97ea7701a7d794068ca516a3",
"body": "- OAuth passthrough: trust X-Forwarded-User only when the request comes from a\n configured trusted-proxy CIDR (new auth.trustedProxies); otherwise map to a\n generic identity, so a direct client holding the shared secret cannot spoof\n an arbitrary (or admin) user. (#44)\n- vibed-agent control API: \n[…]\nt boundary and the agent fail-closed\nbehavior. Behavior is unchanged for the default single-node config (no token or\ntrusted proxy configured).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "security: harden auth defaults, agent control API, and production values",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-04T21:50:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2d110d1dfa784dfe5e183551344e9969ca33051f",
"body": "v0.4.2: extensibility seams and pluggable providers",
"is_bot": false,
"headline": "Merge pull request #43 from vibed-project/v0.4.2",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-04T15:00:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8ac24fa684858843c13bf1060072a3cc93dcb360",
"body": "Add an \"Extending vibeD\" guide — an overview of the registry/plugin model\nplus per-seam pages for store backends, auth providers, tenancy,\npolicy/metering, and the secret-scheme and feature-flag seams. Add new\nconcept pages (control plane, deploy pipeline), an HTTP API reference, and\na user-manageme\n[…]\napp-lifecycle pages with the\ncurrent control plane. Add CONTRIBUTING, a DCO, and a SECURITY policy.\nBump the docs site version label to v0.4.2.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: document the extension surface and refresh the docs site",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-04T08:19:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2a95fe07027f9afc77473289626096bb70c08576",
"body": "…ce fields\n\nAdd optional enrichment fields to api.AuditEvent (TenantID, SessionID,\nSourceHash, PolicyDecision, Before, After) plus a context mechanism\n(audit.WithFields / Fields) that merges them into every event recorded under\nthat context — no change to the Auditor interface.\n\nThe deploy path now \n[…]\n new columns, with an ALTER-based migration for existing\ndatabases. The extra fields are optional and stay empty unless a caller\nsupplies them.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(audit): enrich AuditEvent with tenant, source hash, and governan…",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-04T07:50:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e68614dd3d565011081cd6642004e47a9a3b6ff3",
"body": "Turn config.ResolveSecret into a scheme registry so an out-of-tree module can add\nsecret sources (e.g. vault:, kms:) without changing the core.\n\n- RegisterScheme(scheme, SchemeResolver) registers a resolver for the token\n before the first ':' in a value; env and file are registered as built-ins wit\n[…]\nes, env (set/unset),\nfile (read/trim/missing), a custom scheme, and the duplicate-registration panic.\ngo build/vet/test green; boundary intact.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(config): make ResolveSecret's secret schemes pluggable",
"author_name": "Max Körbächer",
"author_login": "mkorbi",
"committed_at": "2026-07-04T07:34:26Z",
"body_truncated": true,
"is_coding_agent": true
}
],
"releases_count": 14,
"commits_last_year": 262,
"latest_release_at": "2026-07-19T20:07:37Z",
"latest_release_tag": "v0.5.2",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 15,
"days_since_latest_release": 7,
"mean_days_between_releases": 12.5
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "github.com/vibed-project/vibeD",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/vibed-project/vibeD",
"is_deprecated": false,
"latest_version": "v0.5.2",
"repository_url": "https://github.com/vibed-project/vibeD",
"versions_count": 14,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-19T19:42:47Z",
"latest_version_yanked": null,
"days_since_latest_publish": 7
}
]
},
"popularity": {
"forks": 4,
"stars": 10,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2026-03-16",
"count": 1
},
{
"date": "2026-06-06",
"count": 1
},
{
"date": "2026-06-27",
"count": 1
},
{
"date": "2026-07-06",
"count": 1
}
],
"complete": true,
"collected": 4,
"total_forks": 4
},
"star_history": null,
"open_issues_and_prs": 11
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": true,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [
"api/openapi.yaml",
"internal/frontend/openapi.yaml"
],
"has_devcontainer": false,
"typecheck_configs": [
"web/tsconfig.json"
],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 53195,
"source_files_sampled": 216,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"docs/package.json",
"go.mod",
"web/package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "github.com/getkin/kin-openapi",
"direct": true,
"version": "v0.138.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-jpcw-4wr7-c3vq",
"GHSA-r277-6w6q-xmqw"
],
"fixed_version": "0.144.0",
"advisory_count": 2,
"oldest_advisory_days": 2
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.80.0",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf"
],
"fixed_version": "1.82.1",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"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": 2
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.3",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-v2hh-gcrm-f6hx"
],
"fixed_version": "4.1.1",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "github.com/docker/docker",
"direct": false,
"version": "v28.5.2+incompatible",
"severity": "high",
"ecosystem": "go",
"cvss_score": 8.8,
"advisory_ids": [
"GHSA-pxq6-2prw-chj9",
"GHSA-rg2x-37c3-w2rh",
"GHSA-vp62-88p7-qqf5",
"GHSA-x744-4wpc-v9h2",
"GHSA-x86f-5xw2-fm2r",
"GO-2026-4883",
"GO-2026-4887",
"GO-2026-5617",
"GO-2026-5668",
"GO-2026-5746"
],
"fixed_version": "29.3.1",
"advisory_count": 10,
"oldest_advisory_days": 121
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.43.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5158"
],
"fixed_version": "1.44.0",
"advisory_count": 1,
"oldest_advisory_days": 2
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.52.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 19
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5942"
],
"fixed_version": "0.56.0",
"advisory_count": 1,
"oldest_advisory_days": 12
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.37.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 12
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 3,
"unknown": 4,
"critical": 2
},
"advisory_count": 19,
"affected_count": 9,
"assessed_count": 1344,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 3
},
"ecosystems": [
"go",
"npm"
],
"dependencies": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.41.7"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.19.16"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/s3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.101.0"
},
{
"name": "github.com/coreos/go-oidc/v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.17.0"
},
{
"name": "github.com/getkin/kin-openapi",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.138.0"
},
{
"name": "github.com/google/go-containerregistry",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.20.7"
},
{
"name": "github.com/google/go-github/v68",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v68.0.0"
},
{
"name": "github.com/modelcontextprotocol/go-sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.1"
},
{
"name": "github.com/oapi-codegen/runtime",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.0"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.23.2"
},
{
"name": "github.com/prometheus/client_model",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.6.2"
},
{
"name": "github.com/stretchr/testify",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.11.1"
},
{
"name": "gitlab.com/gitlab-org/api/client-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.45.0"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.67.0"
},
{
"name": "go.opentelemetry.io/otel",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.43.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.42.0"
},
{
"name": "go.opentelemetry.io/otel/exporters/stdout/stdouttrace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.42.0"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.43.0"
},
{
"name": "go.opentelemetry.io/otel/trace",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.43.0"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.52.0"
},
{
"name": "golang.org/x/oauth2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.35.0"
},
{
"name": "golang.org/x/sync",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.20.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.14.0"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
},
{
"name": "k8s.io/api",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.36.0"
},
{
"name": "k8s.io/apimachinery",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.36.0"
},
{
"name": "k8s.io/client-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.36.0"
},
{
"name": "k8s.io/utils",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20260210185600-b8788abfbbc2"
},
{
"name": "modernc.org/sqlite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.46.1"
},
{
"name": "sigs.k8s.io/controller-runtime",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.24.1"
},
{
"name": "sigs.k8s.io/yaml",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.6.0"
},
{
"name": "react",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
},
{
"name": "react-dom",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^19.0.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/aws/aws-sdk-go-v2",
"direct": true,
"version": "v1.41.7",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/credentials",
"direct": true,
"version": "v1.19.16",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/s3",
"direct": true,
"version": "v1.101.0",
"ecosystem": "go"
},
{
"name": "github.com/coreos/go-oidc/v3",
"direct": true,
"version": "v3.17.0",
"ecosystem": "go"
},
{
"name": "github.com/getkin/kin-openapi",
"direct": true,
"version": "v0.138.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-containerregistry",
"direct": true,
"version": "v0.20.7",
"ecosystem": "go"
},
{
"name": "github.com/google/go-github/v68",
"direct": true,
"version": "v68.0.0",
"ecosystem": "go"
},
{
"name": "github.com/modelcontextprotocol/go-sdk",
"direct": true,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "github.com/oapi-codegen/runtime",
"direct": true,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.23.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": true,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/stretchr/testify",
"direct": true,
"version": "v1.11.1",
"ecosystem": "go"
},
{
"name": "gitlab.com/gitlab-org/api/client-go",
"direct": true,
"version": "v1.45.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": true,
"version": "v0.67.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": true,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc",
"direct": true,
"version": "v1.42.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/stdout/stdouttrace",
"direct": true,
"version": "v1.42.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/sdk",
"direct": true,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": true,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.52.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/oauth2",
"direct": true,
"version": "v0.35.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": true,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.14.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": true,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "k8s.io/api",
"direct": true,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "k8s.io/apimachinery",
"direct": true,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "k8s.io/client-go",
"direct": true,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "k8s.io/utils",
"direct": true,
"version": "v0.0.0-20260210185600-b8788abfbbc2",
"ecosystem": "go"
},
{
"name": "modernc.org/sqlite",
"direct": true,
"version": "v1.46.1",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/controller-runtime",
"direct": true,
"version": "v0.24.1",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/yaml",
"direct": true,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "react",
"direct": true,
"version": "19.2.4",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "19.2.4",
"ecosystem": "npm"
},
{
"name": "github.com/apapsch/go-jsonmerge/v2",
"direct": false,
"version": "v2.0.0",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream",
"direct": false,
"version": "v1.7.10",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/configsources",
"direct": false,
"version": "v1.4.23",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/endpoints/v2",
"direct": false,
"version": "v2.7.23",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/internal/v4a",
"direct": false,
"version": "v1.4.24",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding",
"direct": false,
"version": "v1.13.9",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/checksum",
"direct": false,
"version": "v1.9.15",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url",
"direct": false,
"version": "v1.13.23",
"ecosystem": "go"
},
{
"name": "github.com/aws/aws-sdk-go-v2/service/internal/s3shared",
"direct": false,
"version": "v1.19.23",
"ecosystem": "go"
},
{
"name": "github.com/aws/smithy-go",
"direct": false,
"version": "v1.25.1",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/cenkalti/backoff/v5",
"direct": false,
"version": "v5.0.3",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/errdefs/pkg",
"direct": false,
"version": "v0.3.0",
"ecosystem": "go"
},
{
"name": "github.com/containerd/stargz-snapshotter/estargz",
"direct": false,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/distribution/reference",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/dlclark/regexp2",
"direct": false,
"version": "v1.11.5",
"ecosystem": "go"
},
{
"name": "github.com/docker/cli",
"direct": false,
"version": "v29.2.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/docker/distribution",
"direct": false,
"version": "v2.8.3+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/docker/docker",
"direct": false,
"version": "v28.5.2+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/docker/docker-credential-helpers",
"direct": false,
"version": "v0.9.4",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-connections",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/docker/go-units",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/dustin/go-humanize",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/emicklei/go-restful/v3",
"direct": false,
"version": "v3.13.0",
"ecosystem": "go"
},
{
"name": "github.com/evanphx/json-patch",
"direct": false,
"version": "v5.9.0+incompatible",
"ecosystem": "go"
},
{
"name": "github.com/evanphx/json-patch/v5",
"direct": false,
"version": "v5.9.11",
"ecosystem": "go"
},
{
"name": "github.com/fatih/color",
"direct": false,
"version": "v1.18.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/fsnotify/fsnotify",
"direct": false,
"version": "v1.9.0",
"ecosystem": "go"
},
{
"name": "github.com/fxamacker/cbor/v2",
"direct": false,
"version": "v2.9.0",
"ecosystem": "go"
},
{
"name": "github.com/go-jose/go-jose/v4",
"direct": false,
"version": "v4.1.4",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/zapr",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonpointer",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/jsonreference",
"direct": false,
"version": "v0.21.0",
"ecosystem": "go"
},
{
"name": "github.com/go-openapi/swag",
"direct": false,
"version": "v0.23.0",
"ecosystem": "go"
},
{
"name": "github.com/google/gnostic-models",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-querystring",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/google/jsonschema-go",
"direct": false,
"version": "v0.4.2",
"ecosystem": "go"
},
{
"name": "github.com/google/pprof",
"direct": false,
"version": "v0.0.0-20250820193118-f64d9cf942d6",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/grpc-ecosystem/grpc-gateway/v2",
"direct": false,
"version": "v2.28.0",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-cleanhttp",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/hashicorp/go-retryablehttp",
"direct": false,
"version": "v0.7.8",
"ecosystem": "go"
},
{
"name": "github.com/josharian/intern",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/compress",
"direct": false,
"version": "v1.18.1",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/mailru/easyjson",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/microsoft/go-winio",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/go-homedir",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/docker-image-spec",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/moby/sys/sequential",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/moby/term",
"direct": false,
"version": "v0.5.2",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/concurrent",
"direct": false,
"version": "v0.0.0-20180306012644-bacd9c7ef1dd",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/reflect2",
"direct": false,
"version": "v1.0.3-0.20250322232337-35a7c28c31ee",
"ecosystem": "go"
},
{
"name": "github.com/mohae/deepcopy",
"direct": false,
"version": "v0.0.0-20170929034955-c48cc78d4826",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/ncruces/go-strftime",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/oasdiff/yaml",
"direct": false,
"version": "v0.0.9",
"ecosystem": "go"
},
{
"name": "github.com/oasdiff/yaml3",
"direct": false,
"version": "v0.0.12",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/go-digest",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/opencontainers/image-spec",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/perimeterx/marshmallow",
"direct": false,
"version": "v1.1.5",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/pmezard/go-difflib",
"direct": false,
"version": "v1.0.1-0.20181226105442-5d4384ee4fb2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.67.5",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.19.2",
"ecosystem": "go"
},
{
"name": "github.com/remyoudompheng/bigfft",
"direct": false,
"version": "v0.0.0-20230129092748-24d4a6f8daec",
"ecosystem": "go"
},
{
"name": "github.com/santhosh-tekuri/jsonschema/v6",
"direct": false,
"version": "v6.0.2",
"ecosystem": "go"
},
{
"name": "github.com/segmentio/asm",
"direct": false,
"version": "v1.1.3",
"ecosystem": "go"
},
{
"name": "github.com/segmentio/encoding",
"direct": false,
"version": "v0.5.4",
"ecosystem": "go"
},
{
"name": "github.com/sirupsen/logrus",
"direct": false,
"version": "v1.9.3",
"ecosystem": "go"
},
{
"name": "github.com/spf13/pflag",
"direct": false,
"version": "v1.0.10",
"ecosystem": "go"
},
{
"name": "github.com/vbatts/tar-split",
"direct": false,
"version": "v0.12.2",
"ecosystem": "go"
},
{
"name": "github.com/woodsbury/decimal128",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/x448/float16",
"direct": false,
"version": "v0.8.4",
"ecosystem": "go"
},
{
"name": "github.com/yosida95/uritemplate/v3",
"direct": false,
"version": "v3.0.2",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.43.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/proto/otlp",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/multierr",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "go.uber.org/zap",
"direct": false,
"version": "v1.27.1",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v2",
"direct": false,
"version": "v2.4.3",
"ecosystem": "go"
},
{
"name": "go.yaml.in/yaml/v3",
"direct": false,
"version": "v3.0.4",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20251219203646-944ab1f22d93",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "v0.43.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "gomodules.xyz/jsonpatch/v2",
"direct": false,
"version": "v2.5.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260401024825-9d38bb4040a9",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260401024825-9d38bb4040a9",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.80.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.12-0.20260120151049-f2248ac996af",
"ecosystem": "go"
},
{
"name": "gopkg.in/evanphx/json-patch.v4",
"direct": false,
"version": "v4.13.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/inf.v0",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "gotest.tools/v3",
"direct": false,
"version": "v3.5.2",
"ecosystem": "go"
},
{
"name": "k8s.io/apiextensions-apiserver",
"direct": false,
"version": "v0.36.0",
"ecosystem": "go"
},
{
"name": "k8s.io/klog/v2",
"direct": false,
"version": "v2.140.0",
"ecosystem": "go"
},
{
"name": "k8s.io/kube-openapi",
"direct": false,
"version": "v0.0.0-20260317180543-43fb72c5454a",
"ecosystem": "go"
},
{
"name": "modernc.org/libc",
"direct": false,
"version": "v1.67.6",
"ecosystem": "go"
},
{
"name": "modernc.org/mathutil",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "modernc.org/memory",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/json",
"direct": false,
"version": "v0.0.0-20250730193827-2d320260d730",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/randfill",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "sigs.k8s.io/structured-merge-diff/v6",
"direct": false,
"version": "v6.3.2",
"ecosystem": "go"
},
{
"name": "@11ty/gray-matter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@algolia/abtesting",
"direct": false,
"version": "1.22.0",
"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.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-analytics",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-common",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-insights",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-personalization",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-query-suggestions",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-search",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/events",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@algolia/ingestion",
"direct": false,
"version": "1.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/monitoring",
"direct": false,
"version": "1.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/recommend",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-browser-xhr",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-fetch",
"direct": false,
"version": "5.56.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-node-http",
"direct": false,
"version": "5.56.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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-class-features-plugin",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-create-regexp-features-plugin",
"direct": false,
"version": "7.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-optimise-call-expression",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-remap-async-to-generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-skip-transparent-expression-wrappers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-wrap-function",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-firefox-class-in-computed-class-key",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-class-field-initializer-scope",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-safari-rest-destructuring-rhs-array",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly",
"direct": false,
"version": "7.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-attributes",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-jsx",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-unicode-sets-regex",
"direct": false,
"version": "7.18.6",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-arrow-functions",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-generator-functions",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-async-to-generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoped-functions",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-block-scoping",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-properties",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-class-static-block",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-classes",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-computed-properties",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-destructuring",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dotall-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-keys",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-duplicate-named-capturing-groups-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-dynamic-import",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-explicit-resource-management",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-exponentiation-operator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-export-namespace-from",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-for-of",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-function-name",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-json-strings",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-literals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-logical-assignment-operators",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-member-expression-literals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-amd",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-commonjs",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-systemjs",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-modules-umd",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-named-capturing-groups-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-new-target",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-nullish-coalescing-operator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-numeric-separator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-rest-spread",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-object-super",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-catch-binding",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-optional-chaining",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-parameters",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-methods",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-private-property-in-object",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-property-literals",
"direct": false,
"version": "7.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-development",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-pure-annotations",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regenerator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-regexp-modifiers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-reserved-words",
"direct": false,
"version": "7.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-spread",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-sticky-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-template-literals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typeof-symbol",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-escapes",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-property-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-unicode-sets-regex",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/preset-env",
"direct": false,
"version": "7.29.7",
"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.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/preset-typescript",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.28.6",
"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": "@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/core",
"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/preset-classic",
"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/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": "@emnapi/core",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@hapi/hoek",
"direct": false,
"version": "9.3.0",
"ecosystem": "npm"
},
{
"name": "@hapi/topo",
"direct": false,
"version": "5.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.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-fsa",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-builtins",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-to-fsa",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-node-utils",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-print",
"direct": false,
"version": "4.56.10",
"ecosystem": "npm"
},
{
"name": "@jsonjoy.com/fs-snapshot",
"direct": false,
"version": "4.56.10",
"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": "@mdx-js/react",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "1.4.0",
"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": "@oxc-project/types",
"direct": false,
"version": "0.139.0",
"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": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@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.12",
"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": "@szmarczak/http-timer",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.3",
"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/debug",
"direct": false,
"version": "4.1.12",
"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/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.3.3",
"ecosystem": "npm"
},
{
"name": "@types/prismjs",
"direct": false,
"version": "1.26.6",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.14.0",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "19.2.14",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "19.2.3",
"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/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": "@ungap/structured-clone",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "6.0.3",
"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.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.56.0",
"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.4",
"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.43",
"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.6",
"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.30001806",
"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-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": "clsx",
"direct": false,
"version": "2.1.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": "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": "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.48.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": "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": "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": "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": "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.393",
"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": "enhanced-resolve",
"direct": false,
"version": "5.20.0",
"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": "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": "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.3",
"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": "fdir",
"direct": false,
"version": "6.5.0",
"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": "11.3.6",
"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": "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.4",
"ecosystem": "npm"
},
{
"name": "hast-util-from-parse5",
"direct": false,
"version": "8.0.3",
"ecosystem": "npm"
},
{
"name": "hast-util-parse-selector",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hast-util-raw",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "hast-util-to-estree",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "hast-util-to-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.6",
"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": "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": "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": "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.2",
"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.1",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"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": "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.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": "markdown-extensions",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-table",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-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.56.10",
"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": "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": "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.51",
"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": "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": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "pascal-case",
"direct": false,
"version": "3.1.2",
"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": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "pkijs",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.19",
"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": "prism-react-renderer",
"direct": false,
"version": "2.4.1",
"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.2",
"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": "rolldown",
"direct": false,
"version": "1.1.5",
"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": "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": "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": "tapable",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "terser",
"direct": false,
"version": "5.46.0",
"ecosystem": "npm"
},
{
"name": "terser-webpack-plugin",
"direct": false,
"version": "5.6.1",
"ecosystem": "npm"
},
{
"name": "thingies",
"direct": false,
"version": "2.5.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": "tinyglobby",
"direct": false,
"version": "0.2.17",
"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": "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": "5.7.3",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.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": "14.0.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": "vite",
"direct": false,
"version": "8.1.5",
"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.105.3",
"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": "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": 1344,
"direct_count": 33,
"indirect_count": 1311
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 49,
"open_issues": 10,
"closed_ratio": 0.846,
"closed_issues": 55,
"closed_unmerged_prs": 4
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "mkorbi",
"commits": 260,
"avatar_url": "https://avatars.githubusercontent.com/u/16919345?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yaml",
"deploy.yml",
"e2e-cluster.yaml",
"release.yaml",
"runner-images.yaml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"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": 8,
"reason": "6 out of 7 merged PRs checked by a CI test -- score normalized to 8",
"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/7 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 6 contributing companies or organizations",
"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 30 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 9,
"reason": "SAST tool is not run on all commits -- score normalized to 9",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "14 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "ae19cbb7ffd0be1f6647483e093930931540b02b",
"ran_at": "2026-07-27T12:19:52Z",
"aggregate_score": 5.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-25T03:09:04Z",
"oldest_open_prs": [
{
"number": 119,
"created_at": "2026-07-25T03:08:59Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-19T19:42:48Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 12,
"created_at": "2026-03-12T22:32:56Z",
"last_comment_at": "2026-07-06T06:27:14Z",
"last_comment_author": "thschue"
},
{
"number": 13,
"created_at": "2026-03-13T06:11:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 16,
"created_at": "2026-03-13T06:15:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 19,
"created_at": "2026-03-13T06:18:39Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 20,
"created_at": "2026-03-13T06:19:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 21,
"created_at": "2026-03-13T06:19:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 22,
"created_at": "2026-03-13T06:20:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 23,
"created_at": "2026-03-14T21:57:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 27,
"created_at": "2026-03-17T08:13:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 105,
"created_at": "2026-07-18T07:43:26Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/vibed-project/vibeD",
"host": "github.com",
"name": "vibeD",
"owner": "vibed-project"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"security": 56,
"vitality": 80,
"community": 43,
"governance": 53,
"engineering": 66
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 80,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"commits_last_year": 262,
"human_commit_share": 0.98,
"days_since_last_push": 2,
"active_weeks_last_year": 15
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "15/52 weeks with commits",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 15
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "262 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 262
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 30 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": 14,
"latest_release_tag": "v0.5.2",
"releases_from_tags": false,
"days_since_latest_release": 7,
"mean_days_between_releases": 12.5
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "14 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 14
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 7 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 7
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~12.5 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 12.5
}
}
],
"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": 43,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"forks": 4,
"stars": 10,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "10 stars",
"points": 15.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 10
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "4 forks",
"points": 4,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 4
}
}
],
"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": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "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": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 53,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 6 contributing companies or organizations",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"merged_prs": 49,
"open_issues": 10,
"closed_issues": 55,
"issue_closed_ratio": 0.846,
"closed_unmerged_prs": 4
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "85% of issues closed",
"points": 39.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 85
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "49/53 decided PRs merged",
"points": 35.4,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 49,
"decided": 53
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/7 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 34,
"inputs": {
"followers": 0,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "vibed-project",
"public_repos": 2,
"account_age_days": 147
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "0 followers of vibed-project",
"points": 0,
"status": "missed",
"details": [
{
"code": "owner_followers",
"params": {
"count": 0,
"login": "vibed-project"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "2 public repos, account ~0 yr old",
"points": 4.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 2
}
},
{
"code": "account_age_years",
"params": {
"years": 0
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/vibed-project/vibeD"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 7
},
"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 7 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 7
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "14 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 14
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 66,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "5 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 5
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "6 out of 7 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://vibed.run/",
"has_readme": true,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://vibed.run/",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 56,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 5.4
},
"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": "6 out of 7 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"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/7 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 6 contributing companies or organizations",
"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 30 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 9",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "14 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 1344 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": 1344
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 64,
"inputs": {
"source": "osv",
"advisories": 19,
"affected_packages": 9,
"assessed_packages": 1344,
"unassessed_packages": 0,
"affected_by_severity": "critical 2, high 3, unknown 4",
"direct_affected_packages": 3
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "3 affected: github.com/getkin/kin-openapi v0.138.0 (critical 9.1), go.opentelemetry.io/otel v1.43.0 (unknown), golang.org/x/crypto v0.52.0 (unknown)",
"points": 8.3,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 3,
"packages": "github.com/getkin/kin-openapi v0.138.0 (critical 9.1), go.opentelemetry.io/otel v1.43.0 (unknown), golang.org/x/crypto v0.52.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": 1344,
"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": 5
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 68,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.98,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "96 of 98 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 96,
"sampled": 98
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"web/tsconfig.json"
],
"agent_commit_share": 0.64,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.02
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "web/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "web/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "64 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 64,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "2 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 2,
"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 0",
"points": 0,
"status": "missed",
"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": 53195,
"source_files_sampled": 216,
"oversized_source_files": 0
},
"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": "0/216 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 216,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [],
"has_mcp_signal": true,
"api_schema_files": [
"api/openapi.yaml",
"internal/frontend/openapi.yaml"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "api/openapi.yaml, internal/frontend/openapi.yaml",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "api/openapi.yaml, internal/frontend/openapi.yaml"
}
}
],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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-27T12:20:11.319026Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/v/vibed-project/vibeD.svg",
"full_name": "vibed-project/vibeD",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}