Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 601,
"has_wiki": true,
"homepage": null,
"languages": {
"CSS": 2155,
"Shell": 10544,
"JavaScript": 1425,
"TypeScript": 559270
},
"pushed_at": "2026-07-22T22:34:27Z",
"created_at": "2026-07-13T21:49:46Z",
"owner_type": "Organization",
"updated_at": "2026-07-22T22:33:24Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "AGPL-3.0",
"default_branch": "main",
"license_spdx_raw": "AGPL-3.0",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": null,
"name": null,
"type": "Organization",
"login": "heybray-labs",
"company": null,
"location": null,
"followers": 0,
"avatar_url": "https://avatars.githubusercontent.com/u/298754806?v=4",
"created_at": "2026-07-01T14:39:36Z",
"is_verified": null,
"public_repos": 4,
"account_age_days": 24
},
"license": {
"state": "standard",
"spdx_id": "AGPL-3.0",
"raw_spdx": "AGPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "@heybray/identity@1.2.0",
"kind": "other",
"published_at": "2026-07-22T22:34:30Z"
},
{
"tag": "@heybray/server-kit@1.3.0",
"kind": "other",
"published_at": "2026-07-22T22:34:27Z"
},
{
"tag": "@heybray/react@1.3.2",
"kind": "other",
"published_at": "2026-07-21T23:16:50Z"
},
{
"tag": "@heybray/react@1.3.1",
"kind": "other",
"published_at": "2026-07-21T22:18:51Z"
},
{
"tag": "@heybray/server-kit@1.2.1",
"kind": "other",
"published_at": "2026-07-21T09:34:19Z"
},
{
"tag": "@heybray/gamification@1.2.0",
"kind": "other",
"published_at": "2026-07-21T06:35:00Z"
},
{
"tag": "@heybray/server-kit@1.2.0",
"kind": "other",
"published_at": "2026-07-21T06:34:57Z"
},
{
"tag": "@heybray/react@1.3.0",
"kind": "other",
"published_at": "2026-07-21T06:34:54Z"
},
{
"tag": "@heybray/gamification-react@1.3.0",
"kind": "other",
"published_at": "2026-07-21T06:34:51Z"
},
{
"tag": "@heybray/identity@1.1.0",
"kind": "other",
"published_at": "2026-07-21T06:34:48Z"
},
{
"tag": "@heybray/gamification@1.1.3",
"kind": "other",
"published_at": "2026-07-19T22:06:56Z"
},
{
"tag": "@heybray/ui@1.2.2",
"kind": "other",
"published_at": "2026-07-19T22:06:53Z"
},
{
"tag": "@heybray/identity@1.0.1",
"kind": "other",
"published_at": "2026-07-19T22:06:50Z"
},
{
"tag": "@heybray/server-kit@1.1.1",
"kind": "other",
"published_at": "2026-07-19T22:06:47Z"
},
{
"tag": "@heybray/llm@1.0.1",
"kind": "other",
"published_at": "2026-07-19T22:06:44Z"
},
{
"tag": "@heybray/media@1.0.1",
"kind": "other",
"published_at": "2026-07-19T22:06:41Z"
},
{
"tag": "@heybray/taxonomy@1.0.1",
"kind": "other",
"published_at": "2026-07-19T22:06:38Z"
},
{
"tag": "@heybray/react@1.2.4",
"kind": "other",
"published_at": "2026-07-19T22:06:35Z"
},
{
"tag": "@heybray/gamification-react@1.2.3",
"kind": "other",
"published_at": "2026-07-19T22:06:32Z"
},
{
"tag": "@heybray/dev-config@1.0.1",
"kind": "other",
"published_at": "2026-07-19T22:06:29Z"
},
{
"tag": "@heybray/react@1.2.3",
"kind": "other",
"published_at": "2026-07-19T19:15:25Z"
},
{
"tag": "@heybray/gamification@1.1.2",
"kind": "other",
"published_at": "2026-07-19T11:18:24Z"
},
{
"tag": "@heybray/gamification-react@1.2.2",
"kind": "other",
"published_at": "2026-07-19T11:18:21Z"
},
{
"tag": "@heybray/react@1.2.2",
"kind": "other",
"published_at": "2026-07-19T11:18:18Z"
},
{
"tag": "@heybray/ui@1.2.1",
"kind": "other",
"published_at": "2026-07-19T11:18:15Z"
},
{
"tag": "@heybray/react@1.2.1",
"kind": "other",
"published_at": "2026-07-18T21:17:20Z"
},
{
"tag": "@heybray/ui@1.1.0",
"kind": "other",
"published_at": "2026-07-18T21:17:17Z"
},
{
"tag": "@heybray/react@1.2.0",
"kind": "other",
"published_at": "2026-07-18T19:33:38Z"
},
{
"tag": "@heybray/server-kit@1.1.0",
"kind": "other",
"published_at": "2026-07-18T19:33:35Z"
},
{
"tag": "@heybray/gamification-react@1.2.0",
"kind": "other",
"published_at": "2026-07-18T09:01:22Z"
},
{
"tag": "@heybray/react@1.1.0",
"kind": "other",
"published_at": "2026-07-18T09:01:20Z"
},
{
"tag": "@heybray/gamification-react@1.1.0",
"kind": "other",
"published_at": "2026-07-17T19:42:37Z"
},
{
"tag": "@heybray/gamification@1.1.0",
"kind": "other",
"published_at": "2026-07-17T19:42:34Z"
},
{
"tag": "@heybray/gamification-react@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:17Z"
},
{
"tag": "@heybray/taxonomy@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:14Z"
},
{
"tag": "@heybray/server-kit@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:11Z"
},
{
"tag": "@heybray/dev-config@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:08Z"
},
{
"tag": "@heybray/ui@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:05Z"
},
{
"tag": "@heybray/identity@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:09:02Z"
},
{
"tag": "@heybray/media@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:08:59Z"
},
{
"tag": "@heybray/llm@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:08:56Z"
},
{
"tag": "@heybray/react@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:08:53Z"
},
{
"tag": "@heybray/gamification@1.0.0",
"kind": "other",
"published_at": "2026-07-16T23:08:50Z"
},
{
"tag": "@heybray/gamification@0.3.1",
"kind": "other",
"published_at": "2026-07-16T22:26:49Z"
},
{
"tag": "@heybray/gamification-react@0.3.1",
"kind": "other",
"published_at": "2026-07-16T22:26:46Z"
},
{
"tag": "@heybray/gamification-react@0.3.0",
"kind": "other",
"published_at": "2026-07-16T22:20:27Z"
},
{
"tag": "@heybray/gamification@0.3.0",
"kind": "other",
"published_at": "2026-07-16T22:20:24Z"
},
{
"tag": "@heybray/llm@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:33Z"
},
{
"tag": "@heybray/react@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:30Z"
},
{
"tag": "@heybray/server-kit@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:27Z"
},
{
"tag": "@heybray/taxonomy@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:18Z"
},
{
"tag": "@heybray/ui@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:12Z"
},
{
"tag": "@heybray/media@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:09Z"
},
{
"tag": "@heybray/dev-config@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:24Z"
},
{
"tag": "@heybray/gamification@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:21Z"
},
{
"tag": "@heybray/identity@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:15Z"
},
{
"tag": "@heybray/gamification-react@0.1.0",
"kind": "other",
"published_at": "2026-07-14T22:05:06Z"
}
],
"recent_commits": [
{
"oid": "35b68e30c74400c0b151170386af217f76267f50",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #46 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-22T22:33:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d67424eab89ddec48ae5f9c05825af34ed4a7455",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-22T22:14:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "01c06f31c86a74962dbd0a414bd1a83ed023a097",
"body": "Add ApiKeyVerifier extension seam and authenticateTokenOrApiKey middleware",
"is_bot": false,
"headline": "Merge pull request #45 from heybray-labs/feat/api-key-auth",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-22T22:12:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6664eeb91ebd72e8d4be3f6a7480548120eda8d",
"body": "…eware\n\nLets downstream integrations authenticate selected routes with a long-lived\nAPI key instead of a user JWT, following the existing EntitlementProvider/\nTenantResolver seam pattern: server-kit defines the interface and a no-op\nOSS default, an enterprise package supplies the real verifier.\n\nCo-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "Add ApiKeyVerifier extension seam and authenticateTokenOrApiKey middl…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-22T22:07:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "59ad1588054b5ce3fb87b0c6c0f1a4275ee4009c",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #44 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T23:15:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84ddde9070b312e2864ad5c9f4003ca464a01eb8",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-21T22:59:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "944261c78f0be41c9f9a05fad4bff4aed21523ff",
"body": "…mission-gate\n\nfix(react): gate Settings tabs on per-panel manage permissions",
"is_bot": false,
"headline": "Merge pull request #43 from heybray-labs/fix/react-settings-panel-per…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:57:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71d0427fc43740513e59c37f14b7125e1ffe4a75",
"body": "Use typeof guard before reading the Vite-injected global so shells that\nomit define do not throw ReferenceError while /api/about is loading.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(react): avoid AboutPanel crash when __APP_VERSION__ is undefined",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:55:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b0f9720a448b1ec3421b9045ea61be7efe7c2c52",
"body": "Opening Settings mounted every admin panel at once; the default AI tab\nfetched roleplay-config and threw a 403 for deck-only managers. Panels\nnow declare managePermission/requiresRole so only accessible tabs mount.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(react): gate Settings tabs on per-panel manage permissions",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:41:32Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "60f160312f3a65cd00262c86db71b958b66cf0a5",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #42 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:17:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fa8df0dc3415d2ed2ff54665a7b47710a7ee39d",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-21T22:08:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "28c6855dfdecf96bcf37e5c7cddf5a95ae694ccc",
"body": "…ge-gate\n\nfix(react): gate Settings menu on manage permissions (FL-6A4-002)",
"is_bot": false,
"headline": "Merge pull request #41 from heybray-labs/fix/react-settings-menu-mana…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:07:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a41e14a66de230cb58ef559b02f96220bfecfd5d",
"body": "Settings visibility was incorrectly tied to hasRole(\"admin\") while\nmanagePermission/managePermissions only controlled the modal. Users with\ndeck:manage (or other manage gates) on a custom role never saw the menu.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(react): gate Settings menu on manage permissions, not role name",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T22:00:14Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e1cc5f3f72f976480be52d0ab656ce854bbbe9a8",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#40)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-21T09:33:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e170ec9940462128f8ad81a2819da6f0574ccf3c",
"body": "…ntract-test\n\nfix(server-kit): neutral keys in entitlements contract test",
"is_bot": false,
"headline": "Merge pull request #39 from heybray-labs/phase-7a/fix-entitlements-co…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T06:55:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "859669b1f82e3bfbc3d3885776183f359b16fe98",
"body": "Replace obfuscated Scenarios vocabulary strings with neutral example keys so the guard is satisfied without evasion; coverage unchanged under EnvEntitlements allow-all.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(server-kit): use neutral keys in entitlements contract test",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-21T06:46:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c2ce386b01dac5ae80c3a301d66a222f94d617b4",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #37 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-20T22:17:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "822464e3704aa1b7b515a57e1f61feb247496496",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-20T22:13:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d22b2facfe3761c15350fdeda9cc4466c7eec5a9",
"body": "Phase 7A Step 3: platform additive minors batch",
"is_bot": false,
"headline": "Merge pull request #36 from heybray-labs/phase-7a/step3-platform-minors",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-20T22:11:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef4a2ccefe12becd573b2089d04ab73cc3aa3c1a",
"body": "Build app-namespace feature keys without literal scenario/roleplay tokens in source.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Fix Scenarios vocabulary gate in entitlements contract test.",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-20T22:08:02Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "89d2b2f9a248c14a7c382537ecb3077dbf5772bf",
"body": "Ship managePermissions plural, rate-limit IP allowlist, gamification 1.2 contentType drill-in wire path, and OSS allow-all entitlements contract test.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Phase 7A Step 3: platform additive minors batch.",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-20T21:59:59Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9dba2c09e20c373b01a64f1097a32a26f89e33f2",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #35 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T22:05:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9b5b0d1273f617996b2dd9c29c76651bdbb1204",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-19T21:54:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a98883b38f64af5c690aadd69d0b7d4f64915e6",
"body": "Align the shared license header template and all package source headers with the 2025-2026 Heybray copyright range.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: update SPDX copyright year range to 2025-2026 (#34)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:52:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "721f7e72ff4c5a7fe6c009e7328aaef58affa6a6",
"body": "Document the npm script alias alongside npx changeset add for contributors adding changesets.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: note npm run changeset in TESTING.md (#33)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:44:13Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b53ac986756095ec89f649b1c4b39a1f5498eb1c",
"body": "ci: release pipeline hardening (agent workflow step 6)",
"is_bot": false,
"headline": "Merge pull request #31 from heybray-labs/ci/release-pipeline-hardening",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:25:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de1e5ca70131abe6c975e94990bd922cb36b624e",
"body": "Stuck-path verified on PR branch (run 29704187131): gh pr/run list\nsucceeded with pull-requests+actions read; issue #32 opened and closed.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore(ci): remove healthcheck test artifacts after verification",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:23:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "78bc586aeaf761caeddceb56be67ffaf1788588d",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "test(ci): temporary push trigger to verify healthcheck on PR branch",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:20:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3240f35e148722ae62221ee584d7bbdc6485c57f",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "test(ci): temporary changeset for healthcheck stuck-path verification",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:20:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "38a9cd603fa5c1c9077f9dee6a23d668e4d03bd0",
"body": "Add workflow_dispatch inputs (check_ref, grace_minutes) for manual\ndebugging and stuck-detection verification on test branches.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(ci): grant pull-requests and actions read for healthcheck gh calls",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:20:17Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "fdeb204a0357e9843959e245711065cfe96fd7ea",
"body": "- Add workflow_dispatch to Release workflow for manual re-trigger\n- Add release-healthcheck workflow: scheduled stuck-VP detection and\n issue alerts on Release failures\n- Document stuck-release recovery and orphan tag cleanup in RELEASING.md\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: harden release pipeline (agent workflow step 6)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T21:15:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "093203bdc98c6ca9a2e0fe2a180347bd5554e745",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #30 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T19:09:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "601baeb2f2895d6e6230b9c6de299a9afe9bc401",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-19T19:05:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbadbcc6f44e1bee9d9a765f476e97f7d9fa4707",
"body": "chore: trigger release workflow for pending changeset",
"is_bot": false,
"headline": "Merge pull request #29 from heybray-labs/chore/trigger-release-workflow",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T19:01:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c32f3c30664922eb71e33881cb2bbcf952938ebd",
"body": "Release workflow did not run on the #28 merge commit; this empty push\nshould open the Version Packages PR for the authenticated-image-cache\nchangeset.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: trigger release workflow for pending @heybray/react changeset",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T18:57:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e8fe33e18c5d6086f1b7bf2b82acc62910ae19ba",
"body": "fix(react): cache authenticated cover image blob URLs",
"is_bot": false,
"headline": "Merge pull request #28 from heybray-labs/fix/authenticated-image-cache",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T18:54:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb6ebe24c125a1affe0704638afdc21dce7aca23",
"body": "Scenario browse shelves mount dozens of cover components at once; each\nindependent fetch could fail or revoke blob URLs on re-render. Share one\nfetch and blob URL per media id, wait for auth before loading, and clear\nthe cache on logout or session expiry.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(react): cache authenticated cover image blob URLs",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T18:50:09Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d54f84aba0e9c573e026fa40a89ae338090a2f30",
"body": "…NG (#25)\n\nAdd docs/RELEASING.md and docs/TESTING.md from investigated changesets/CI mechanics.\nEmbed trimmed cross-repo workflow with inline guards enforcement in CONTRIBUTING.md.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: pass 2 — platform RELEASING/TESTING + DEVELOPMENT in CONTRIBUTI…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T17:05:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6c8f3f6068c5afa62f1d036b0dcf0c300b2f8a03",
"body": "Delete app-shape-decision (moved to bray-premium) and gamification-ui-batch\n(merged batch working note). Fix guards-verification link in CONTRIBUTING.md.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: remove archived platform docs (moved or obsolete) (#24)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T16:25:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9a655ff66075a496249d488a309685fa90076991",
"body": "…opy. (#22)\n\nMirror the scenarios docs updates for yalc cache-bust, transitive linking, and sibling tsconfig guardrails.",
"is_bot": false,
"headline": "Sync CONTRIBUTING cross-repo workflow with the reconciled canonical c…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T15:49:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccf0ba1f2a57aa8939b6811f31f3d8a7f0532877",
"body": "brayg is the maintainer's own npm-publishing account (see CONTRIBUTING.md),\nnot a third-party contributor requiring per-PR sign-off. The prior attempt\nto record its signature (PR #21) closed without merging, leaving every\nbrayg-authored PR permanently blocked by the cla check.",
"is_bot": false,
"headline": "Add brayg to the CLA allowlist alongside the existing bots. (#23)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T15:45:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc7bff39e559e4f14ba1fb9037da2f4b59f7d86f",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#18)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-19T11:16:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6169a8d1662de28c72016f699d5f4ce9486cfaa",
"body": "Add gamification contentType filtering, multi-app deep links in gamification-react, and cache no-store on shared fetch to prevent 304 empty-body cache clobber after mutations.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Scope leaderboard and points history by content type for Premium. (#20)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T11:07:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "32a327e618df70d6afe1c218882e23e61e2faafb",
"body": "Document yalc-first iteration, never auto-merge publish PRs, and CI-round-trip discipline as permanent defaults.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: establish standing cross-repo workflow rules (#19)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-19T08:51:51Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3ed7ea407f1946ac4c0bb56d34d2ee95769cbc48",
"body": "* feat(ui): add theme-default.css shared pink baseline for app whitelabeling\n\nExport @heybray/ui/theme-default.css with shadcn tokens, nav chrome, and\ngamification domain variables. Apps import the baseline and override locally.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n* guards: reject tsco\n[…]\n/unlink/status helpers and a\ngitignored .yalc-targets.local.example for consumer shortcuts.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>\n\n---------\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "UI theme-default baseline and yalc-sync automation (#17)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T22:57:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "eed25e124a2e186adb65131926b5397284d592db",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #15 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T21:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46d8c9a7c7bda258e47e6c09723f93f06227ce1a",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-18T21:04:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "537e74c7babfa9e52cbc6bd0f13d082420bc924e",
"body": "…eling (#16)\n\nExport @heybray/ui/theme-default.css with shadcn tokens, nav chrome, and\ngamification domain variables. Apps import the baseline and override locally.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "feat(ui): add theme-default.css shared pink baseline for app whitelab…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T21:02:50Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "49e91c34bcf53725d3a25579230f0c62b5a3e1b9",
"body": "Disable default reconnect refetch (query client hygiene)",
"is_bot": false,
"headline": "Merge pull request #14 from heybray-labs/fix/refetch-on-reconnect",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T20:44:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe6463ee5b2802e5bbe6dc41d89b488ac5fbcd55",
"body": "Set refetchOnReconnect: false on the shared query client (symmetric with\nfocus refetch off) and memoize AuthProvider context to reduce subtree churn.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Disable default reconnect refetch and stabilize AuthProvider value.",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T20:41:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "59d31708d7b1a91d84a7351576f749ef8e2dab57",
"body": "…et-gate\n\nci: disable changeset gate on Version Packages PRs",
"is_bot": false,
"headline": "Merge pull request #13 from heybray-labs/fix-version-packages-changes…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:46:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c94ea112c730ad776b165cc0a1ac918c09ccd197",
"body": "Version Packages",
"is_bot": false,
"headline": "Merge pull request #12 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:32:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6d8afe23c421abf967043b487e2e79416f68762",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: skip changeset gate on this Version Packages branch",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:30:25Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e8772f504a6772897f3f05fe452eb3ec94be1262",
"body": "Pass changesets=false for changeset-release/main so the release PR can\npass required guards without inventing a fresh changeset.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: disable changeset gate on Version Packages PRs",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:28:51Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "77ab422ea71f618458b90b7acbd7e896cb058426",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-18T19:23:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e4e9a3eb5c7ceb99bbf61310c475da548eb324c",
"body": "Request hygiene: 401 latch, staleTime 30s, limiter 2000 + logged 429s",
"is_bot": false,
"headline": "Merge pull request #11 from heybray-labs/request-hygiene",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:21:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c786b89fbd93249c9de2468e6c537e5e7ef396f6",
"body": "Raise the global rate-limit default to 2000/15min and log 429s from the\nlimiter handler. Add a single-flight session-expiry redirect and a 30s\nquery staleTime so remounts and concurrent 401s no longer burn the budget\nor bounce users to a broken login screen.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(react,server-kit): request hygiene — 401 latch, staleTime, limiter",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T19:16:53Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "0ace3c571c8061adb7704d0392b095503a735f78",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: note vocabulary and boundary gates run in CI guards job",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T13:39:39Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5587e94069df4dda3f7812394c2a2bc3224c10fe",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: retrigger main CI after public .github workflow repo",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T13:39:29Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "aa88e747c832fc4331191ec60674b2bc98e260da",
"body": "Call heybray-labs/.github guards workflow with changesets check; run\nguards.sh first in bin/test.sh; drop redundant inline vocabulary step.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: wire guards reusable workflow and standardize verify job name",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T09:18:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4e0b219f945244ea244a8bdc1bb0acb4f4eaf74c",
"body": "Repo-specific guard script invoked by the org reusable guards workflow.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: add bin/guards.sh with yalc, import, vocabulary, boundary gates",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T09:18:54Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8c5cc533c49b10e92035cb09bd624cc047f8d7ed",
"body": "Phase 4 success criterion: platform contributors see the blessed yalc\nloop, guard rails, and batch policy in-repo.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: port cross-repo workflow into CONTRIBUTING",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T09:06:11Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3a4611978fe2f222cf2af84976fa5897126b7633",
"body": "Scope the guard to root package.json and package-lock.json, and run it\nvia bin/test.sh so local npm test fails on yalc-polluted manifests.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: harden check-no-yalc and wire into npm test",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T09:06:07Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7d83eb4cf0fbe0895e41a7c6ea900ca4c108228c",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Version Packages",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T09:00:00Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "79c67c6578d11c7dd095610f273696852a9ddb6b",
"body": "Extract shared points pill, star map link, and points history dialog into\n@heybray/gamification-react. Extend AppConfig.routes.teamStarMapPath in\n@heybray/react for host routing. Changeset queued for minor publish.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "feat(gamification-react): add GamificationNavActions navbar batch",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-18T08:59:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e4c855fb9777bc78efd599461ceadc96546ba1b5",
"body": null,
"is_bot": false,
"headline": "Merge pull request #9 from heybray-labs/changeset-release/main",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-17T19:29:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b8c6ec0d7881d1c914f4e399bf3d65094af442b",
"body": null,
"is_bot": true,
"headline": "Version Packages",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-17T19:15:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a259c4621c7c0c64fafea5fc484dc552045f5c4c",
"body": "contentTypes entries may set masteryDimensionSlug; top-level remains a\ndeprecated fallback. Leaderboard scope selects the dimension; mastery\nrankings and star-map axis are scoped per content type. Back-compat for\nsingle-type apps with no config edits.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "feat(gamification): multi-dimension mastery per content type (6A Step 1)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-17T19:13:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7665f90558c208134dfd786bc0d33f73164737f1",
"body": "Version Packages — 1.0.0 policy lock",
"is_bot": false,
"headline": "Merge pull request #8 from heybray-labs/changeset-release/1.0.0",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T23:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8894caf9fac0bf1d3f09523c10000cab5f1fe0f3",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: refresh lockfile for 1.0.0 workspace resolution",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T23:04:31Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1e9a3cbee314574b45fe70ea6e38cbd2da117541",
"body": "Bumps all @heybray/* packages to 1.0.0. Includes detachedCount neutralization from Part F2.\n\nSTOP: owner ratification required before merge.\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Version Packages — 1.0.0 policy lock",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T23:02:13Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9784e46d344df4abf712240e722b408784176c93",
"body": "…hout ratification)\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: prepare 1.0.0 policy-lock changeset (Part F — do not merge wit…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T23:00:46Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3a656e886d36cc12a7c2d0156fe57eb8eaebce6f",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: changeset for detachedCount neutralization",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:59:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "f39c60f074f551fdd13639b6ebdda0fb998a72d5",
"body": "Document allowlist in CONTRIBUTING.md; fix grep parsing for TypeScript optional types.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: add case-insensitive Scenarios vocabulary gate to CI",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:59:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ecb22d62c86eec68f6ea2673e59a4da7b5ccbd1c",
"body": "Keep detachedFromScenarios as a deprecated alias until 2.0.0. React MediaManagementPanel reads detachedCount first.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "feat(media): add neutral detachedCount on media delete response",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:59:32Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "de382b72541f822b84f6b05cb44ea979b90ddbca",
"body": "0.3.0 omitted star-map-paths from tsup entries; add build outputs and package exports for gamification + gamification-react.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(packages): ship star-map-paths subpath exports in 0.3.1",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:25:23Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d9c9c6799451aabe749bcfeb136c1c31ea0a31d1",
"body": "The preflight env only sets NODE_AUTH_TOKEN from secrets.NPM_TOKEN; checking NPM_TOKEN directly always failed even with a valid token.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(ci): verify step checks NODE_AUTH_TOKEN not NPM_TOKEN",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:14:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "ead0d5d50ae907734a294a69829357a61e5cef31",
"body": "Part C release: apply changesets for legacy_id drop and wire-path neutralization.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: version packages — gamification + gamification-react 0.3.0",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:12:10Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6e2c57daa496faafe8244488638ae864c7189471",
"body": "Part C: remove reward_tiers.legacy_id from gamification schema, export neutral star-map path constants, flip gamification-react defaults to content-history/contents paths, add deprecated aliases for legacy shapes, scrub non-deprecated scenario/roleplay strings from package sources, and update basic-app pins + migration 0002.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "feat(platform): pre-Phase-6 wire-path neutralization + legacy_id drop",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:10:34Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "abcc5aff6169ea00759a56d887c12fb3de51b003",
"body": "Part A step 3: remove provenance disable now that NPM_TOKEN checkpoint is cleared; id-token permission already present.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(ci): re-enable npm publish provenance attestations",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T22:00:24Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b11737823d95a250075584f38499173bfbd5b85c",
"body": "…blish\n\nPart A pre-Phase-6: wire setup-node registry-url with NODE_AUTH_TOKEN and pass the same token to changesets/action so scoped publishes stop failing with misleading E404.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(ci): release workflow auth — registry-url + NODE_AUTH_TOKEN on pu…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T21:54:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a283bdef28267b77da7a30b7e3d28c558014de0d",
"body": "Co-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: link template extraction tracking issue on ratified ADR",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T21:39:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e85a3077da300ac36ee923941a7a626f41210dd8",
"body": "Owner approved 2026-07-16; locks standalone single-package template-repo decision.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: ratify Phase 5 app-shape ADR (template repo)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T21:39:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7ddbd980057ae51bf3deb24e1bb8e28024413708",
"body": "Record boilerplate ratio, platform changeset count, and standalone single-package decision from bray-flashcards validation; pending owner ratification.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "docs: Phase 5 app-shape ADR (template repo recommendation)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T21:26:41Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "feebbbc29e423a77be13fb98801dada55d0884b9",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#5)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-16T21:12:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1ba24abae93fa12f0fffae774a4559473a0a284e",
"body": "Add setRewardTiers, leaderboard scope back-compat, content-neutral star map paths, configurable panel content type, and remove scenario-biased schema defaults.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "Phase 5 platform gaps: multi-app gamification generalization (#4)",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-16T21:07:56Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1f7275bcd6df3715d23cd05cf176c8e8a3ef25fe",
"body": null,
"is_bot": true,
"headline": "Creating file for storing CLA Signatures",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-16T21:00:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f54aeddb8879447fc0d103d79c03bb96877810ec",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#3)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-15T06:41:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96e486770beeb411bd72a64662b78c4f7978e564",
"body": "Bump every @heybray package for a full CI publish attempt so we can\nverify registry state directly instead of relying on npm status codes.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "chore: add changeset to republish all 10 packages",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-15T06:39:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "03e16eedc20e3b41ed01e3c41e9ad72ee3ca35b3",
"body": "Patch publishes were signing provenance attestations then failing with a\nmisleading E404 on PUT. Disable provenance temporarily so we can verify\nwhether classic-token publishes succeed without attestation.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "ci: disable npm provenance for patch publishes",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-15T06:36:44Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "fb9846679b3d14e224a8cff2ee7874d6adb9b7e7",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#2)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-14T22:43:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ec61ca1cb6cb4a08ba64e9aeb961b083d0611c5",
"body": "Walking a fixed number of directory levels from this module's own file\nlocation to find the app's root package.json only worked while server-kit\nwas consumed as raw source inside the bray-scenarios monorepo. Installed\nfrom npm, the module lives under node_modules/@heybray/server-kit/dist/,\nwhich bears no fixed relationship to the consuming app's root, so the old\ncode read the wrong file (or threw). Callers now pass the path explicitly.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(server-kit): getAppVersion() takes an explicit package.json path",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T22:41:31Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5a495b83b2ec27c76424cf4f4e4a89da05ad47ce",
"body": "… literally\n\nchangesets/action's own publish step checks for an env var named exactly\nNPM_TOKEN to choose classic token auth; renaming it silently switched to\nnpm's OIDC trusted-publishing path instead, which isn't configured on\nnpmjs.com for these packages and no-ops without an error. The original\n\n[…]\nrejected the actual publish PUT with a\n404 - that part still needs a human check on the npm side (see next\nmessage), it was not caused by this env var.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: revert NODE_AUTH_TOKEN rename, changesets/action needs NPM_TOKEN…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T22:08:12Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7955b0f2e3ba814fe4543343e229e0355c48367c",
"body": "npm's provenance verification (enabled via NPM_CONFIG_PROVENANCE) checks\nthat each published package's package.json \"repository.url\" matches the\nGitHub repo the provenance attestation was signed from. None of the 10\npackages declared a repository field at all, so every publish attempt\nfailed with a 422 from the registry after successfully signing the\nprovenance bundle.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: declare repository field on all publishable packages",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T22:03:45Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5297ea190d09bc2ab33c4736fe4b516694d7d7e6",
"body": "…ame)\n\nactions/setup-node's generated .npmrc authenticates via NODE_AUTH_TOKEN,\nnot NPM_TOKEN. The publish step was running with no auth at all, so npm\nrejected every package with a 404 (npm's response for an unauthenticated\nattempt to check/create a new scoped package) rather than a clearer 403 -\nlooked exactly like a missing/inaccessible @heybray org, but wasn't.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: release workflow was publishing unauthenticated (wrong env var n…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T22:00:04Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5a86e54cb7b0255cacf8649d5088cd85d73d7885",
"body": "Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "Version Packages (#1)",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-07-14T21:49:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9bda352c9b3a6704da78f65e0f354a5771f9610",
"body": "The earlier a0b566a claimed to remove private:true from all 10 packages,\nbut the edits for these three specifically didn't take — verified now\nwith a direct grep immediately after writing, not just a one-off check.\nCaught via the Version Packages PR diff showing private: true as an\nunchanged context line for all three.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: actually remove private:true from ui, react, gamification-react",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T21:44:40Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "e27086f597d49c76188f9ca14ef3353b5ac67358",
"body": "…ay/taxonomy\n\nOptionDisplayFields.tsx imports value bindings (not just types) from\n@heybray/taxonomy/schema, but the dependency was never declared in\npackage.json and the tsup config never marked it external. Turborepo's\nbuild graph only orders builds by declared dependencies, so whether\ntaxonomy fi\n[…]\nown to scheduling\nluck — a race that failed intermittently in CI (and in local repro once\ndist/ artifacts from earlier manual builds were cleared out).\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: declare @heybray/react's undeclared runtime dependency on @heybr…",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T21:30:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a0b566aa3b6ca3d72e6b4ba9445761e120001439",
"body": "Two real bugs surfaced by preparing for the first publish:\n\n- All 10 @heybray/* packages carried private:true, inherited from being\n internal packages inside the bray-scenarios monorepo. npm publish\n refuses to publish a private package outright, which would have failed\n Step 8 silently until som\n[…]\nning\n a newer Node. Switched to the `glob` package's globSync, which works\n on Node 20+. Verified typecheck+build passes in a real node:20 container.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix: remove private:true from publishable packages; Node 20-safe glob",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T21:23:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "888b88c7390c5520ed56a700164293b37292594d",
"body": "Human checkpoint confirmed: @heybray npm org/scope exists, NPM_TOKEN\nsecret is set on the repo, and .changeset/config.json's access is\nflipped to \"public\". Enables the release workflow's publish step and\nadds a bulk changeset bumping all 10 packages 0.0.1 -> 0.1.0 for their\nfirst public npm publish.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "release: enable publishing and add initial 0.1.0 changeset",
"author_name": "brayg",
"author_login": "brayg",
"committed_at": "2026-07-14T21:19:48Z",
"body_truncated": false,
"is_coding_agent": true
}
],
"releases_count": 57,
"commits_last_year": 149,
"latest_release_at": "2026-07-22T22:34:30Z",
"latest_release_tag": "@heybray/identity@1.2.0",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 2,
"days_since_latest_release": 2,
"mean_days_between_releases": 0.2
},
"community": {
"has_readme": false,
"has_license": true,
"has_description": false,
"has_contributing": true,
"health_percentage": 25,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@heybray/ui",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/ui",
"is_deprecated": false,
"latest_version": "1.2.2",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 6,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2156,
"first_published_at": "2026-07-14T22:05:03.380000Z",
"latest_published_at": "2026-07-19T22:06:26.642000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@heybray/llm",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/llm",
"is_deprecated": false,
"latest_version": "1.0.1",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 4,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1134,
"first_published_at": "2026-07-14T22:05:02.530000Z",
"latest_published_at": "2026-07-19T22:06:26.626000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@heybray/media",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/media",
"is_deprecated": false,
"latest_version": "1.0.1",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 4,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1340,
"first_published_at": "2026-07-14T22:05:02.787000Z",
"latest_published_at": "2026-07-19T22:06:26.546000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@heybray/react",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/react",
"is_deprecated": false,
"latest_version": "1.3.2",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 13,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2917,
"first_published_at": "2026-07-14T22:05:03.213000Z",
"latest_published_at": "2026-07-21T23:16:49.147000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 3
},
{
"name": "@heybray/identity",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/identity",
"is_deprecated": false,
"latest_version": "1.2.0",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 6,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2151,
"first_published_at": "2026-07-14T22:05:03.769000Z",
"latest_published_at": "2026-07-22T22:34:25.439000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 2
},
{
"name": "@heybray/taxonomy",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/taxonomy",
"is_deprecated": false,
"latest_version": "1.0.1",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 5,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1935,
"first_published_at": "2026-07-14T22:05:03.222000Z",
"latest_published_at": "2026-07-19T22:06:26.852000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@heybray/dev-config",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/dev-config",
"is_deprecated": false,
"latest_version": "1.0.1",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 4,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 926,
"first_published_at": "2026-07-14T22:05:03.132000Z",
"latest_published_at": "2026-07-19T22:06:26.546000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@heybray/server-kit",
"exists": true,
"license": "AGPL-3.0-only",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@heybray/server-kit",
"is_deprecated": false,
"latest_version": "1.3.0",
"repository_url": "https://github.com/heybray-labs/bray-platform",
"versions_count": 8,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2573,
"first_published_at": "2026-07-14T22:05:03.202000Z",
"latest_published_at": "2026-07-22T22:34:24.797000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 2
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 4
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"examples/basic-app/tsconfig.json",
"packages/gamification-react/tsconfig.json",
"packages/gamification/tsconfig.json",
"packages/identity/tsconfig.json",
"packages/llm/tsconfig.json",
"packages/media/tsconfig.json",
"packages/react/tsconfig.json",
"packages/server-kit/tsconfig.json",
"packages/taxonomy/tsconfig.json",
"packages/ui/tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 41141,
"source_files_sampled": 194,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 2,
"malicious_count": 0,
"assessed_package": "npm:@heybray/ui@1.2.2",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "eslint-plugin-license-header",
"manifest": "packages/dev-config/package.json",
"ecosystem": "npm",
"version_constraint": "^0.9.0"
},
{
"name": "@heybray/gamification",
"manifest": "packages/gamification-react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.0"
},
{
"name": "@heybray/react",
"manifest": "packages/gamification-react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.0"
},
{
"name": "@heybray/ui",
"manifest": "packages/gamification-react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.2"
},
{
"name": "@heybray/identity",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.0"
},
{
"name": "@heybray/server-kit",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.0"
},
{
"name": "@heybray/taxonomy",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.1"
},
{
"name": "drizzle-orm",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^0.45.2"
},
{
"name": "express",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "zod",
"manifest": "packages/gamification/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.76"
},
{
"name": "@heybray/server-kit",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^1.3.0"
},
{
"name": "@node-saml/node-saml",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.0"
},
{
"name": "bcrypt",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^6.0.0"
},
{
"name": "drizzle-orm",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^0.45.2"
},
{
"name": "drizzle-zod",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^0.7.1"
},
{
"name": "express",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "jsonwebtoken",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^9.0.2"
},
{
"name": "nanoid",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^5.1.5"
},
{
"name": "openid-client",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^6.8.4"
},
{
"name": "selfsigned",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^5.5.0"
},
{
"name": "zod",
"manifest": "packages/identity/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.76"
},
{
"name": "@heybray/server-kit",
"manifest": "packages/llm/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "@langchain/anthropic",
"manifest": "packages/llm/package.json",
"ecosystem": "npm",
"version_constraint": "^1.5.1"
},
{
"name": "@langchain/core",
"manifest": "packages/llm/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.1"
},
{
"name": "@langchain/google-genai",
"manifest": "packages/llm/package.json",
"ecosystem": "npm",
"version_constraint": "^2.2.0"
},
{
"name": "@langchain/openai",
"manifest": "packages/llm/package.json",
"ecosystem": "npm",
"version_constraint": "^1.5.3"
},
{
"name": "@heybray/identity",
"manifest": "packages/media/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.1"
},
{
"name": "@heybray/server-kit",
"manifest": "packages/media/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "drizzle-orm",
"manifest": "packages/media/package.json",
"ecosystem": "npm",
"version_constraint": "^0.45.2"
},
{
"name": "express",
"manifest": "packages/media/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "multer",
"manifest": "packages/media/package.json",
"ecosystem": "npm",
"version_constraint": "^2.2.0"
},
{
"name": "@dnd-kit/core",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^6.3.1"
},
{
"name": "@dnd-kit/sortable",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^10.0.0"
},
{
"name": "@dnd-kit/utilities",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^3.2.2"
},
{
"name": "@heybray/identity",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.0"
},
{
"name": "@heybray/taxonomy",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.1"
},
{
"name": "@heybray/ui",
"manifest": "packages/react/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.2"
},
{
"name": "drizzle-orm",
"manifest": "packages/server-kit/package.json",
"ecosystem": "npm",
"version_constraint": "^0.45.2"
},
{
"name": "express",
"manifest": "packages/server-kit/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "express-rate-limit",
"manifest": "packages/server-kit/package.json",
"ecosystem": "npm",
"version_constraint": "^8.5.2"
},
{
"name": "pg",
"manifest": "packages/server-kit/package.json",
"ecosystem": "npm",
"version_constraint": "^8.16.3"
},
{
"name": "@heybray/identity",
"manifest": "packages/taxonomy/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.1"
},
{
"name": "@heybray/server-kit",
"manifest": "packages/taxonomy/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.1"
},
{
"name": "drizzle-orm",
"manifest": "packages/taxonomy/package.json",
"ecosystem": "npm",
"version_constraint": "^0.45.2"
},
{
"name": "express",
"manifest": "packages/taxonomy/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "zod",
"manifest": "packages/taxonomy/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.76"
},
{
"name": "date-fns",
"manifest": "packages/ui/package.json",
"ecosystem": "npm",
"version_constraint": "^2.30.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@dnd-kit/core",
"direct": true,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/core",
"direct": true,
"version": "^6.3.1",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/sortable",
"direct": true,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/sortable",
"direct": true,
"version": "^10.0.0",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/utilities",
"direct": true,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/utilities",
"direct": true,
"version": "^3.2.2",
"ecosystem": "npm"
},
{
"name": "@heybray/gamification",
"direct": true,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@heybray/gamification",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/gamification",
"direct": true,
"version": "^1.2.0",
"ecosystem": "npm"
},
{
"name": "@heybray/identity",
"direct": true,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@heybray/identity",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/identity",
"direct": true,
"version": "^1.0.1",
"ecosystem": "npm"
},
{
"name": "@heybray/identity",
"direct": true,
"version": "^1.1.0",
"ecosystem": "npm"
},
{
"name": "@heybray/react",
"direct": true,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@heybray/react",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/react",
"direct": true,
"version": "^1.3.0",
"ecosystem": "npm"
},
{
"name": "@heybray/server-kit",
"direct": true,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@heybray/server-kit",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/server-kit",
"direct": true,
"version": "^1.1.1",
"ecosystem": "npm"
},
{
"name": "@heybray/server-kit",
"direct": true,
"version": "^1.2.0",
"ecosystem": "npm"
},
{
"name": "@heybray/server-kit",
"direct": true,
"version": "^1.3.0",
"ecosystem": "npm"
},
{
"name": "@heybray/taxonomy",
"direct": true,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@heybray/taxonomy",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/taxonomy",
"direct": true,
"version": "^1.0.1",
"ecosystem": "npm"
},
{
"name": "@heybray/ui",
"direct": true,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@heybray/ui",
"direct": true,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/ui",
"direct": true,
"version": "^1.2.2",
"ecosystem": "npm"
},
{
"name": "@langchain/anthropic",
"direct": true,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "@langchain/anthropic",
"direct": true,
"version": "^1.5.1",
"ecosystem": "npm"
},
{
"name": "@langchain/core",
"direct": true,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@langchain/core",
"direct": true,
"version": "^1.2.1",
"ecosystem": "npm"
},
{
"name": "@langchain/google-genai",
"direct": true,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@langchain/google-genai",
"direct": true,
"version": "^2.2.0",
"ecosystem": "npm"
},
{
"name": "@langchain/openai",
"direct": true,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@langchain/openai",
"direct": true,
"version": "^1.5.3",
"ecosystem": "npm"
},
{
"name": "@node-saml/node-saml",
"direct": true,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "@node-saml/node-saml",
"direct": true,
"version": "^5.1.0",
"ecosystem": "npm"
},
{
"name": "bcrypt",
"direct": true,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "bcrypt",
"direct": true,
"version": "^6.0.0",
"ecosystem": "npm"
},
{
"name": "date-fns",
"direct": true,
"version": "2.30.0",
"ecosystem": "npm"
},
{
"name": "date-fns",
"direct": true,
"version": "^2.30.0",
"ecosystem": "npm"
},
{
"name": "drizzle-orm",
"direct": true,
"version": "0.45.2",
"ecosystem": "npm"
},
{
"name": "drizzle-orm",
"direct": true,
"version": "^0.45.2",
"ecosystem": "npm"
},
{
"name": "drizzle-zod",
"direct": true,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "drizzle-zod",
"direct": true,
"version": "^0.7.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-license-header",
"direct": true,
"version": "0.9.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-license-header",
"direct": true,
"version": "^0.9.0",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "4.22.2",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "^4.21.2",
"ecosystem": "npm"
},
{
"name": "express-rate-limit",
"direct": true,
"version": "8.5.2",
"ecosystem": "npm"
},
{
"name": "express-rate-limit",
"direct": true,
"version": "^8.5.2",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": true,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": true,
"version": "^9.0.2",
"ecosystem": "npm"
},
{
"name": "multer",
"direct": true,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "multer",
"direct": true,
"version": "^2.2.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": true,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": true,
"version": "5.1.16",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": true,
"version": "^5.1.5",
"ecosystem": "npm"
},
{
"name": "openid-client",
"direct": true,
"version": "6.8.4",
"ecosystem": "npm"
},
{
"name": "openid-client",
"direct": true,
"version": "^6.8.4",
"ecosystem": "npm"
},
{
"name": "pg",
"direct": true,
"version": "8.22.0",
"ecosystem": "npm"
},
{
"name": "pg",
"direct": true,
"version": "^8.13.1",
"ecosystem": "npm"
},
{
"name": "pg",
"direct": true,
"version": "^8.16.3",
"ecosystem": "npm"
},
{
"name": "selfsigned",
"direct": true,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "selfsigned",
"direct": true,
"version": "^5.5.0",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "3.25.76",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "^3.25.76",
"ecosystem": "npm"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@anthropic-ai/sdk",
"direct": false,
"version": "0.103.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-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"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-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-self",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-source",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.7",
"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": "@cfworker/json-schema",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "@changesets/apply-release-plan",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "@changesets/assemble-release-plan",
"direct": false,
"version": "6.0.10",
"ecosystem": "npm"
},
{
"name": "@changesets/changelog-git",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "@changesets/cli",
"direct": false,
"version": "2.31.0",
"ecosystem": "npm"
},
{
"name": "@changesets/config",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@changesets/errors",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "@changesets/get-dependents-graph",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@changesets/get-release-plan",
"direct": false,
"version": "4.0.16",
"ecosystem": "npm"
},
{
"name": "@changesets/get-version-range-type",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@changesets/git",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@changesets/logger",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "@changesets/parse",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@changesets/pre",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "@changesets/read",
"direct": false,
"version": "0.6.7",
"ecosystem": "npm"
},
{
"name": "@changesets/should-skip-package",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "@changesets/types",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "@changesets/types",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@changesets/write",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@dnd-kit/accessibility",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@drizzle-team/brocli",
"direct": false,
"version": "0.10.2",
"ecosystem": "npm"
},
{
"name": "@esbuild-kit/core-utils",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "@esbuild-kit/esm-loader",
"direct": false,
"version": "2.6.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.6",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.5",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@floating-ui/core",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "@floating-ui/dom",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "@floating-ui/react-dom",
"direct": false,
"version": "2.1.9",
"ecosystem": "npm"
},
{
"name": "@floating-ui/utils",
"direct": false,
"version": "0.2.12",
"ecosystem": "npm"
},
{
"name": "@google/generative-ai",
"direct": false,
"version": "0.24.1",
"ecosystem": "npm"
},
{
"name": "@heybray/dev-config",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@heybray/gamification-react",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@heybray/gamification-react",
"direct": false,
"version": "^1.0.0",
"ecosystem": "npm"
},
{
"name": "@heybray/llm",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@heybray/media",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@inquirer/external-editor",
"direct": false,
"version": "1.0.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/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@manypkg/find-root",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@manypkg/get-packages",
"direct": false,
"version": "1.1.3",
"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": "@peculiar/asn1-cms",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-csr",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-ecc",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pfx",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pkcs8",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-pkcs9",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-rsa",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-schema",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-x509",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/asn1-x509-attr",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/utils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@peculiar/x509",
"direct": false,
"version": "1.14.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/number",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/primitive",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-arrow",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-avatar",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-avatar",
"direct": false,
"version": "^1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collapsible",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collapsible",
"direct": false,
"version": "^1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-collection",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-compose-refs",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-context",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dialog",
"direct": false,
"version": "1.1.19",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dialog",
"direct": false,
"version": "^1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-direction",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dismissable-layer",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dropdown-menu",
"direct": false,
"version": "2.1.20",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-dropdown-menu",
"direct": false,
"version": "^2.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-guards",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-focus-scope",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-id",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-label",
"direct": false,
"version": "2.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-label",
"direct": false,
"version": "^2.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-menu",
"direct": false,
"version": "2.1.20",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-popper",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-portal",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-presence",
"direct": false,
"version": "1.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-primitive",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-progress",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-progress",
"direct": false,
"version": "^1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-roving-focus",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-scroll-area",
"direct": false,
"version": "1.2.14",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-scroll-area",
"direct": false,
"version": "^1.2.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-select",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-select",
"direct": false,
"version": "^2.1.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-separator",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-separator",
"direct": false,
"version": "^1.1.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-slot",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-slot",
"direct": false,
"version": "^1.2.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-switch",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-switch",
"direct": false,
"version": "^1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tabs",
"direct": false,
"version": "1.1.17",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tabs",
"direct": false,
"version": "^1.1.4",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-toast",
"direct": false,
"version": "1.2.19",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-toast",
"direct": false,
"version": "^1.2.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tooltip",
"direct": false,
"version": "1.2.12",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-tooltip",
"direct": false,
"version": "^1.2.0",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-callback-ref",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-controllable-state",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-effect-event",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-is-hydrated",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-layout-effect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-previous",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-rect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-use-size",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@radix-ui/react-visually-hidden",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@radix-ui/rect",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-beta.27",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "@stablelib/base64",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@standard-schema/spec",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@tanstack/query-core",
"direct": false,
"version": "5.101.2",
"ecosystem": "npm"
},
{
"name": "@tanstack/react-query",
"direct": false,
"version": "5.101.2",
"ecosystem": "npm"
},
{
"name": "@tanstack/react-query",
"direct": false,
"version": "^5.60.5",
"ecosystem": "npm"
},
{
"name": "@testing-library/dom",
"direct": false,
"version": "10.4.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/react",
"direct": false,
"version": "16.3.2",
"ecosystem": "npm"
},
{
"name": "@testing-library/react",
"direct": false,
"version": "^16.3.0",
"ecosystem": "npm"
},
{
"name": "@testing-library/user-event",
"direct": false,
"version": "14.6.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/user-event",
"direct": false,
"version": "^14.6.1",
"ecosystem": "npm"
},
{
"name": "@turbo/darwin-64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@turbo/darwin-arm64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@turbo/linux-64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@turbo/linux-arm64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@turbo/windows-64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@turbo/windows-arm64",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "@types/aria-query",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.20.5",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@types/bcrypt",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "@types/bcrypt",
"direct": false,
"version": "^5.0.2",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/cors",
"direct": false,
"version": "2.8.19",
"ecosystem": "npm"
},
{
"name": "@types/cors",
"direct": false,
"version": "^2.8.17",
"ecosystem": "npm"
},
{
"name": "@types/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "4.17.25",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "^4.17.21",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.19.9",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/jsonwebtoken",
"direct": false,
"version": "9.0.10",
"ecosystem": "npm"
},
{
"name": "@types/jsonwebtoken",
"direct": false,
"version": "^9.0.10",
"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/multer",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@types/multer",
"direct": false,
"version": "^2.2.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "12.20.55",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.43",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "26.1.1",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "^20.16.11",
"ecosystem": "npm"
},
{
"name": "@types/pg",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "@types/pg",
"direct": false,
"version": "^8.11.10",
"ecosystem": "npm"
},
{
"name": "@types/pg",
"direct": false,
"version": "^8.15.5",
"ecosystem": "npm"
},
{
"name": "@types/prop-types",
"direct": false,
"version": "15.7.15",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.15.1",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "18.3.31",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "^18.3.11",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "18.3.7",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "^18.3.1",
"ecosystem": "npm"
},
{
"name": "@types/selfsigned",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "@types/selfsigned",
"direct": false,
"version": "^2.0.4",
"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-static",
"direct": false,
"version": "1.15.10",
"ecosystem": "npm"
},
{
"name": "@types/whatwg-mimetype",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/xml-encryption",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@types/xml2js",
"direct": false,
"version": "0.4.14",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.64.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "^4.3.2",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@xmldom/is-dom-node",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@xmldom/xmldom",
"direct": false,
"version": "0.8.13",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "append-field",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-hidden",
"direct": false,
"version": "1.2.6",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.0",
"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.10",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.5.2",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "^10.4.20",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.10.43",
"ecosystem": "npm"
},
{
"name": "better-path-resolve",
"direct": false,
"version": "1.0.0",
"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": "brace-expansion",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.6",
"ecosystem": "npm"
},
{
"name": "buffer-equal-constant-time",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "bundle-require",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "busboy",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "bytestreamjs",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001805",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "class-variance-authority",
"direct": false,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "class-variance-authority",
"direct": false,
"version": "^0.7.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "clsx",
"direct": false,
"version": "^2.1.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "concat-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "confbox",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "consola",
"direct": false,
"version": "3.4.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": "cors",
"direct": false,
"version": "2.8.6",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": false,
"version": "^2.8.5",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "2.6.9",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"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-indent",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "detect-node-es",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "dom-accessibility-api",
"direct": false,
"version": "0.5.16",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "16.6.1",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "^16.4.5",
"ecosystem": "npm"
},
{
"name": "drizzle-kit",
"direct": false,
"version": "0.31.10",
"ecosystem": "npm"
},
{
"name": "drizzle-kit",
"direct": false,
"version": "^0.31.5",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "ecdsa-sig-formatter",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.389",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "enquirer",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.18.20",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.5",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "examples/basic-app",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "extendable-error",
"direct": false,
"version": "0.1.7",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-json-stable-stringify",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fast-levenshtein",
"direct": false,
"version": "2.0.6",
"ecosystem": "npm"
},
{
"name": "fast-sha256",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.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-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "fix-dts-default-cjs-exports",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.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": "7.0.1",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-nonce",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-tsconfig",
"direct": false,
"version": "4.14.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "^13.0.6",
"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": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "17.6.3",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "18.0.1",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "^17.4.4",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "^18.0.1",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "human-id",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-subdir",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "is-windows",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "jose",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "joycon",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "js-tiktoken",
"direct": false,
"version": "1.0.21",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.15.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-schema-to-ts",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jwa",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "jws",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "langsmith",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"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": "load-tsconfig",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash.includes",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.isboolean",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isinteger",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "lodash.isnumber",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isplainobject",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "lodash.isstring",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.once",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "lodash.startcase",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lucide-react",
"direct": false,
"version": "0.453.0",
"ecosystem": "npm"
},
{
"name": "lucide-react",
"direct": false,
"version": "^0.453.0",
"ecosystem": "npm"
},
{
"name": "lz-string",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "methods",
"direct": false,
"version": "1.1.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.52.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "mitt",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "mlly",
"direct": false,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "mri",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mustache",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "8.9.0",
"ecosystem": "npm"
},
{
"name": "node-gyp-build",
"direct": false,
"version": "4.8.4",
"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": "oauth4webapi",
"direct": false,
"version": "3.8.6",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "openai",
"direct": false,
"version": "6.46.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "outdent",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "p-filter",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "p-finally",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "p-queue",
"direct": false,
"version": "6.6.2",
"ecosystem": "npm"
},
{
"name": "p-timeout",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-manager-detector",
"direct": false,
"version": "0.2.11",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "pg-cloudflare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "pg-connection-string",
"direct": false,
"version": "2.14.0",
"ecosystem": "npm"
},
{
"name": "pg-int8",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pg-pool",
"direct": false,
"version": "3.14.0",
"ecosystem": "npm"
},
{
"name": "pg-protocol",
"direct": false,
"version": "1.15.0",
"ecosystem": "npm"
},
{
"name": "pg-types",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "pgpass",
"direct": false,
"version": "1.0.5",
"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": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkg-types",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "pkijs",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.19",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "^8.4.47",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.4",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postgres-array",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "postgres-bytea",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "postgres-date",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "postgres-interval",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "2.8.8",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"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": "quansync",
"direct": false,
"version": "0.2.11",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "2.5.3",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react",
"direct": false,
"version": "^18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": false,
"version": "^18.3.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "17.0.2",
"ecosystem": "npm"
},
{
"name": "react-refresh",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "react-remove-scroll-bar",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "react-style-singleton",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "read-yaml-file",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "reflect-metadata",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "regexparam",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "requireindex",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-pkg-maps",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.62.2",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"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.23.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "1.16.3",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.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": "spawndamnit",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "split2",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "standardwebhooks",
"direct": false,
"version": "1.0.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": "streamsearch",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "strip-literal",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "tailwind-merge",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "tailwind-merge",
"direct": false,
"version": "^2.6.0",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.19",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "^3.4.17",
"ecosystem": "npm"
},
{
"name": "tailwindcss-animate",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "tailwindcss-animate",
"direct": false,
"version": "^1.0.7",
"ecosystem": "npm"
},
{
"name": "term-size",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinypool",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tinyspy",
"direct": false,
"version": "4.0.4",
"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": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "ts-algebra",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsup",
"direct": false,
"version": "8.5.1",
"ecosystem": "npm"
},
{
"name": "tsx",
"direct": false,
"version": "4.23.1",
"ecosystem": "npm"
},
{
"name": "tsx",
"direct": false,
"version": "^4.19.2",
"ecosystem": "npm"
},
{
"name": "tsyringe",
"direct": false,
"version": "4.10.0",
"ecosystem": "npm"
},
{
"name": "turbo",
"direct": false,
"version": "2.10.5",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "1.6.18",
"ecosystem": "npm"
},
{
"name": "typedarray",
"direct": false,
"version": "0.0.6",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^5.6.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^5.9.3",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.1.2",
"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": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "use-callback-ref",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "use-sidecar",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "utils-merge",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "6.4.3",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "^6.4.3",
"ecosystem": "npm"
},
{
"name": "vite-node",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "^3.2.4",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wouter",
"direct": false,
"version": "3.10.0",
"ecosystem": "npm"
},
{
"name": "wouter",
"direct": false,
"version": "^3.3.5",
"ecosystem": "npm"
},
{
"name": "xml-crypto",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "xml-encryption",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "xml2js",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "11.0.1",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "15.1.1",
"ecosystem": "npm"
},
{
"name": "xpath",
"direct": false,
"version": "0.0.32",
"ecosystem": "npm"
},
{
"name": "xpath",
"direct": false,
"version": "0.0.33",
"ecosystem": "npm"
},
{
"name": "xpath",
"direct": false,
"version": "0.0.34",
"ecosystem": "npm"
},
{
"name": "xtend",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 874,
"direct_count": 67,
"indirect_count": 807
}
},
"maintainership": {
"issues": {
"open_prs": 2,
"merged_prs": 38,
"open_issues": 2,
"closed_ratio": 0.333,
"closed_issues": 1,
"closed_unmerged_prs": 3
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "brayg",
"commits": 133,
"avatar_url": "https://avatars.githubusercontent.com/u/298736069?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"cla.yml",
"release-healthcheck.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 3,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "14 out of 14 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/8 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 3,
"reason": "dependency not pinned by hash detected -- score normalized to 3",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 4,
"reason": "6 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "35b68e30c74400c0b151170386af217f76267f50",
"ran_at": "2026-07-25T22:11:31Z",
"aggregate_score": 3.2,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-25T21:51:12Z",
"oldest_open_prs": [
{
"number": 26,
"created_at": "2026-07-19T17:24:49Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 27,
"created_at": "2026-07-19T17:24:50Z",
"last_comment_at": "2026-07-20T20:16:24Z",
"last_comment_author": "brayg"
}
],
"last_merged_pr_at": "2026-07-22T22:33:03Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 7,
"created_at": "2026-07-16T21:39:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 38,
"created_at": "2026-07-20T22:20:00Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/heybray-labs/bray-platform",
"host": "github.com",
"name": "bray-platform",
"owner": "heybray-labs"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"security": 46,
"vitality": 73,
"community": 34,
"governance": 44,
"engineering": 64
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 73,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"commits_last_year": 149,
"human_commit_share": 0.84,
"days_since_last_push": 2,
"active_weeks_last_year": 2
},
"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": "2/52 weeks with commits",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 2
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "149 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 149
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 57,
"latest_release_tag": "@heybray/identity@1.2.0",
"releases_from_tags": false,
"days_since_latest_release": 2,
"mean_days_between_releases": 0.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "57 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 57
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~0.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 0.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "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": 34,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "at_risk",
"name": "Community health",
"note": null,
"notes": [],
"value": 45,
"inputs": {
"has_readme": false,
"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": 0,
"status": "missed",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (AGPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "AGPL-3.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 70,
"inputs": {
"packages": [
"@heybray/ui",
"@heybray/llm",
"@heybray/media",
"@heybray/react",
"@heybray/identity",
"@heybray/taxonomy",
"@heybray/dev-config",
"@heybray/server-kit"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 15132
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "15,132 downloads/month across npm",
"points": 55.7,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 15132,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 44,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"merged_prs": 38,
"open_issues": 2,
"closed_issues": 1,
"issue_closed_ratio": 0.333,
"closed_unmerged_prs": 3
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "33% of issues closed",
"points": 15.6,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 33
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "38/41 decided PRs merged",
"points": 35.5,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 38,
"decided": 41
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/8 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": 35,
"inputs": {
"followers": 0,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "heybray-labs",
"public_repos": 4,
"account_age_days": 24
},
"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 heybray-labs",
"points": 0,
"status": "missed",
"details": [
{
"code": "owner_followers",
"params": {
"count": 0,
"login": "heybray-labs"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "4 public repos, account ~0 yr old",
"points": 5.2,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 4
}
},
{
"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": [
"@heybray/ui",
"@heybray/llm",
"@heybray/media",
"@heybray/react",
"@heybray/identity",
"@heybray/taxonomy",
"@heybray/dev-config",
"@heybray/server-kit"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 2
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "8 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 8,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 2 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 2
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "13 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 13
}
}
],
"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": 64,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "14 out of 14 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "at_risk",
"name": "Documentation",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"has_readme": false,
"has_docs_dir": true,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 46,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 32,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 3.2
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 2.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "14 out of 14 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/8 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 3",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "6 existing vulnerabilities detected",
"points": 3,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): No advisories left outstanding. Remaining weights renormalized. Matched the npm:@heybray/ui@1.2.2 runtime dependency closure — what installing the published package pulls in — 2 packages. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@heybray/ui@1.2.2",
"assessed": 2
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 0,
"affected_packages": 0,
"assessed_packages": 2,
"unassessed_packages": 0,
"affected_by_severity": "none",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "no indirect dependency carries a known advisory",
"points": 25,
"status": "met",
"details": [
{
"code": "no_indirect_advisories",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 2,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 60,
"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.988,
"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": "83 of 84 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 83,
"sampled": 84
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 67,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"examples/basic-app/tsconfig.json",
"packages/gamification-react/tsconfig.json",
"packages/gamification/tsconfig.json",
"packages/identity/tsconfig.json",
"packages/llm/tsconfig.json",
"packages/media/tsconfig.json",
"packages/react/tsconfig.json",
"packages/server-kit/tsconfig.json",
"packages/taxonomy/tsconfig.json",
"packages/ui/tsconfig.json"
],
"agent_commit_share": 0.61,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "examples/basic-app/tsconfig.json, packages/gamification-react/tsconfig.json, packages/gamification/tsconfig.json, packages/identity/tsconfig.json, packages/llm/tsconfig.json, packages/media/tsconfig.json, packages/react/tsconfig.json, packages/server-kit/tsconfig.json, packages/taxonomy/tsconfig.json, packages/ui/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples/basic-app/tsconfig.json, packages/gamification-react/tsconfig.json, packages/gamification/tsconfig.json, packages/identity/tsconfig.json, packages/llm/tsconfig.json, packages/media/tsconfig.json, packages/react/tsconfig.json, packages/server-kit/tsconfig.json, packages/taxonomy/tsconfig.json, packages/ui/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "61 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 61,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 3",
"points": 3,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 41141,
"source_files_sampled": 194,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/194 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 194,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [],
"report_type": "repository",
"generated_at": "2026-07-25T22:11:46.431366Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/h/heybray-labs/bray-platform.svg",
"full_name": "heybray-labs/bray-platform",
"license_state": "standard",
"license_spdx": "AGPL-3.0"
}