Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 669,
"has_wiki": false,
"homepage": "https://pyth.network",
"languages": {
"TypeScript": 125654
},
"pushed_at": "2025-02-06T19:07:35Z",
"created_at": "2021-05-16T14:53:35Z",
"owner_type": "Organization",
"updated_at": "2026-05-24T20:53:10Z",
"description": "Javascript API for on-chain pyth account structure",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript"
]
},
"owner": {
"blog": "https://pyth.network",
"name": "Pyth Network",
"type": "Organization",
"login": "pyth-network",
"company": null,
"location": null,
"followers": 827,
"avatar_url": "https://avatars.githubusercontent.com/u/75637738?v=4",
"created_at": "2020-12-07T18:46:30Z",
"is_verified": null,
"public_repos": 45,
"account_age_days": 2053
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.22.1",
"kind": "patch",
"published_at": "2025-02-06T19:07:35Z"
},
{
"tag": "v2.22.0",
"kind": "minor",
"published_at": "2024-08-28T14:11:49Z"
},
{
"tag": "v2.21.1",
"kind": "patch",
"published_at": "2024-06-24T07:21:46Z"
},
{
"tag": "v2.21.0",
"kind": "minor",
"published_at": "2024-02-29T15:31:39Z"
},
{
"tag": "v2.20.0",
"kind": "minor",
"published_at": "2024-02-28T07:36:39Z"
},
{
"tag": "v2.19.0",
"kind": "minor",
"published_at": "2023-06-22T09:33:19Z"
},
{
"tag": "v2.18.0",
"kind": "minor",
"published_at": "2023-06-21T13:52:01Z"
},
{
"tag": "v2.17.0",
"kind": "minor",
"published_at": "2023-04-06T22:51:02Z"
},
{
"tag": "v2.16.0",
"kind": "minor",
"published_at": "2023-04-05T22:19:35Z"
},
{
"tag": "v2.15.0",
"kind": "minor",
"published_at": "2023-02-13T15:25:10Z"
},
{
"tag": "v2.14.0",
"kind": "minor",
"published_at": "2023-02-06T17:38:51Z"
},
{
"tag": "v2.13.1",
"kind": "patch",
"published_at": "2023-02-04T01:27:02Z"
},
{
"tag": "v2.13.0",
"kind": "minor",
"published_at": "2023-02-03T02:48:04Z"
},
{
"tag": "v2.12.0",
"kind": "minor",
"published_at": "2023-01-26T01:26:52Z"
},
{
"tag": "v2.11.0",
"kind": "minor",
"published_at": "2023-01-20T04:43:14Z"
},
{
"tag": "v2.10.0",
"kind": "minor",
"published_at": "2023-01-12T00:35:23Z"
},
{
"tag": "v2.9.0",
"kind": "minor",
"published_at": "2023-01-03T15:59:26Z"
},
{
"tag": "v2.8.0",
"kind": "minor",
"published_at": "2022-09-13T03:19:28Z"
},
{
"tag": "v2.7.3",
"kind": "patch",
"published_at": "2022-08-04T12:55:26Z"
},
{
"tag": "v2.7.2",
"kind": "patch",
"published_at": "2022-07-23T16:27:49Z"
},
{
"tag": "v2.7.1",
"kind": "patch",
"published_at": "2022-06-21T13:51:47Z"
},
{
"tag": "v2.7.0",
"kind": "minor",
"published_at": "2022-05-18T17:44:57Z"
},
{
"tag": "v2.6.3",
"kind": "patch",
"published_at": "2022-05-02T16:52:10Z"
},
{
"tag": "v2.6.2",
"kind": "patch",
"published_at": "2022-03-18T14:13:55Z"
},
{
"tag": "v2.6.1",
"kind": "patch",
"published_at": "2022-03-07T06:57:55Z"
},
{
"tag": "v2.6.0",
"kind": "minor",
"published_at": "2022-02-18T08:23:21Z"
},
{
"tag": "v2.5.3",
"kind": "patch",
"published_at": "2022-02-02T17:24:38Z"
},
{
"tag": "v2.5.2",
"kind": "patch",
"published_at": "2022-02-02T17:14:13Z"
},
{
"tag": "v2.5.1",
"kind": "patch",
"published_at": "2021-11-10T17:06:47Z"
},
{
"tag": "v2.5.0",
"kind": "minor",
"published_at": "2021-11-04T15:26:03Z"
},
{
"tag": "v2.4.0",
"kind": "minor",
"published_at": "2021-11-01T17:35:55Z"
},
{
"tag": "v2.3.2",
"kind": "patch",
"published_at": "2021-09-29T21:19:41Z"
},
{
"tag": "v2.3.1",
"kind": "patch",
"published_at": "2021-09-29T18:28:54Z"
}
],
"recent_commits": [
{
"oid": "f37e2d94dcc3043fff4973480b86378e4e623344",
"body": "fix: use utf-8 string length calculation",
"is_bot": false,
"headline": "Merge pull request #83 from pyth-network/fix/string-length",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2025-02-06T19:07:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "010a2c369f4b292347cdf3a5d48d629ac146e465",
"body": null,
"is_bot": false,
"headline": "2.22.1",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-02-04T23:11:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72095ebea620d8f97cc51a091f5d9169d866cce3",
"body": null,
"is_bot": false,
"headline": "fix: update string length to utf8",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-02-04T23:11:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31655df775f001882431d28671eeae869e16c3ab",
"body": "chore: redirect people to hermes",
"is_bot": false,
"headline": "Merge pull request #82 from pyth-network/disclaimer",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2025-01-10T12:11:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8b7ac926876684b2f57a4d053145dfd90e3432e",
"body": null,
"is_bot": false,
"headline": "go",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-01-08T20:55:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68eb986124abb4d9bdc70a442a5b1cf02e2e923a",
"body": null,
"is_bot": false,
"headline": "change header",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-01-08T20:55:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94e39b435461ec72e4606f2eb0665d10c717145c",
"body": null,
"is_bot": false,
"headline": "go",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-01-08T20:54:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2aa6acd69a30e7435ac05cf471645db9d58f9414",
"body": null,
"is_bot": false,
"headline": "disclaimer",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2025-01-08T20:46:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1b9d17c7ba187b8ec445e921b3c268d365ce1f69",
"body": "* feat: add InitPriceFeedIndex method IDL\r\n\r\n* fix: update tests to use pythnet/pythtest\r\n\r\n* fix: address review comments\r\n\r\n* feat: add tests for this instruction and setMaxLatency\r\n\r\n* refactor: format\r\n\r\n* fix: remove permissions account from the test as its pda\r\n\r\n* feat: add account parsing\r\n\r\n* fix: address lint issues\r\n\r\n* fix: update oracle version in idl.json",
"is_bot": false,
"headline": "feat: add InitPriceFeedIndex method IDL (#80)",
"author_name": "Ali Behjati",
"author_login": "ali-behjati",
"committed_at": "2024-08-28T14:10:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a9c94b659075ad7b6a240d456ccfda802fb7b04",
"body": "We have some instructions to update product metadata that have size\r\nof more than int8 max (127) and the on-chain program reads them as\r\nu8. So we are switching to UInt8 instead.",
"is_bot": false,
"headline": "fix: use uint8 instead of int8 for instruction serialization (#79)",
"author_name": "Ali Behjati",
"author_login": "ali-behjati",
"committed_at": "2024-06-24T07:19:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af0239dff42af0387450f075e72cdbb2b29e20e9",
"body": "feat: update anchor to 0.29.0",
"is_bot": false,
"headline": "Merge pull request #77 from pyth-network/update-anchor",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2024-02-29T15:31:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f61fc72efaacda3efa96baf31ed1228c1400684b",
"body": null,
"is_bot": false,
"headline": "update anchor to 0.29.0",
"author_name": "Daniel Chew",
"author_login": "cctdaniel",
"committed_at": "2024-02-29T15:25:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ba9357b6572c7c86e90d82cb7739c56d8fa03ef",
"body": "* add support for maxLatency\r\n\r\n* revert\r\n\r\n* revert\r\n\r\n* update readme\r\n\r\n* address comments\r\n\r\n* Update package version to 2.20.0",
"is_bot": false,
"headline": "feat: add support for maxLatency (#76)",
"author_name": "Daniel Chew",
"author_login": "cctdaniel",
"committed_at": "2024-02-28T07:36:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c24cfc63dad1f942768db0dc425f489b0294162",
"body": "* update anchor to 0.28.1-beta.1\r\n\r\n* update package lock\r\n\r\n* update borsh\r\n\r\n* update changelog\r\n\r\n* 2.19.0",
"is_bot": false,
"headline": "update anchor to 0.28.1-beta.1 (#73)",
"author_name": "Daniel Chew",
"author_login": "cctdaniel",
"committed_at": "2023-06-22T09:25:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4ec2bcb5125898618ca02fe4d6ec93c427e19f7",
"body": "Bump to 2.18.0",
"is_bot": false,
"headline": "Merge pull request #72 from pyth-network/guibescos/bump",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-06-21T13:51:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f9180437cd302394304efd56e0e783d02b56272b",
"body": null,
"is_bot": false,
"headline": "Bump",
"author_name": "Guillermo Bescos",
"author_login": "guibescos",
"committed_at": "2023-06-21T13:39:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e8b65bc6af80cc0688610d38dca05ca34f7a45c",
"body": null,
"is_bot": false,
"headline": "optimize rpc calls (#71)",
"author_name": "Nico Schapeler",
"author_login": "cryptopapi997",
"committed_at": "2023-06-20T13:54:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74bc5d2b71824758a02bf2d770a0964a90982ab8",
"body": "Rename initPrice to setExponent for clarity",
"is_bot": false,
"headline": "Merge pull request #70 from pyth-network/rename-set-exponent",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-04-06T22:50:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa7456ed1d6f9f6b1d8065c7894173294529e9ef",
"body": null,
"is_bot": false,
"headline": "2.17.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-06T17:59:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c1f05cea133ea01e34106710c4d629f14e90754",
"body": null,
"is_bot": false,
"headline": "Rename for clarity",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-06T17:57:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8976cd883847afa4d392a2f2c2ca14e14320a54",
"body": "Add pythtest-crosschain",
"is_bot": false,
"headline": "Merge pull request #69 from pyth-network/add-xc-devnet",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:18:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c1270ba54e0d14e110d898435417f8e0c3ba152",
"body": null,
"is_bot": false,
"headline": "2.16.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4f10ea7ee61f352d6da1a30e5b0d563ddfb2bc3",
"body": null,
"is_bot": false,
"headline": "Fix url",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7da7fab1898586055f88ad5f81754863510a08ae",
"body": null,
"is_bot": false,
"headline": "Rename",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2d2d14da93ffa313f0ccf1fe07dd9591aa8a371",
"body": null,
"is_bot": false,
"headline": "Add pythdev",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "214de5d886dc285a38d32da6738f2aa62ef66505",
"body": null,
"is_bot": false,
"headline": "Add xc-devnet",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5561a1c35824c2efefd4ebaf63d3ceb7141a2536",
"body": null,
"is_bot": false,
"headline": "Add xc-devnet",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-05T22:17:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8612a09ce4dee09f50a1c5ea1ea7ed17faffb643",
"body": "Import borsh explicitly",
"is_bot": false,
"headline": "Merge pull request #68 from pyth-network/fix-borsh-import",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-04-04T23:13:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e89358db74fda162e24a222fa346ac77aceaf3b",
"body": null,
"is_bot": false,
"headline": "2.15.1",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-04T14:30:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f0e9a12e129d3f72130179a5dc49c207298d75b",
"body": null,
"is_bot": false,
"headline": "Import borsh explicitly",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-04-04T14:30:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "174e7080fb6fd6e014faf8c1a6d004795ba43cd9",
"body": "…etadata\n\nAddProduct creates the Product metadata",
"is_bot": false,
"headline": "Merge pull request #67 from pyth-network/guibescos/add-product-sets-m…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-02-13T15:20:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ffaef5161f5e4a9de99f675cae3fa240a5591e5c",
"body": null,
"is_bot": false,
"headline": "2.15.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-02-13T15:20:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e3e348f835bae06d7d745b0471b144556d6e7d71",
"body": null,
"is_bot": false,
"headline": "Fix comments",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-02-13T14:45:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3916ee1e030aee7b9fccbfdb3162314a07faf69b",
"body": null,
"is_bot": false,
"headline": "Add all files",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-02-13T14:43:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6f64b843bf1a4476dc80c351efa10790bee896a7",
"body": "…example with SOL/USDC feed (#64)",
"is_bot": false,
"headline": "update PythConnection to subscribe to single accounts and add new ws …",
"author_name": "jacksturt",
"author_login": "jacksturt",
"committed_at": "2023-02-06T17:37:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a84f41f8fa2200a6a996ed0c9599b0d665d015e4",
"body": "…ion-from-package\n\nMake import consistent",
"is_bot": false,
"headline": "Merge pull request #65 from pyth-network/guibescos/import-pythconnect…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-02-06T04:45:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c18f726c39da6baf0aed7cf1e58555eafd14a631",
"body": null,
"is_bot": false,
"headline": "Fix import",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-02-04T07:06:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f827e046f181069d1ed558fcbcc0f298c910dee5",
"body": "Export all items from cluster",
"is_bot": false,
"headline": "Merge pull request #63 from jacksturt/main",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-02-04T01:26:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74d478b61abd8b28f1135ba36c7e336e38093324",
"body": null,
"is_bot": false,
"headline": "update npm version",
"author_name": "jacksturt",
"author_login": "jacksturt",
"committed_at": "2023-02-03T23:59:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9605d01d7b493cad8b4ccb1414d8edbad7231d48",
"body": null,
"is_bot": false,
"headline": "update changelog",
"author_name": "jacksturt",
"author_login": "jacksturt",
"committed_at": "2023-02-03T22:13:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72892beb19f4d84c18496d1cb31cd6fbf87a0d5c",
"body": null,
"is_bot": false,
"headline": "update examples",
"author_name": "jacksturt",
"author_login": "jacksturt",
"committed_at": "2023-02-03T22:02:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9cf091cdf47af297d2b870ed436bf87b8d428345",
"body": null,
"is_bot": false,
"headline": "export all items from cluster",
"author_name": "jacksturt",
"author_login": "jacksturt",
"committed_at": "2023-02-03T21:13:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fda69e2dee4523bc3eab973ca3ac73f3481c1414",
"body": "* update changelog\r\n\r\n* 2.13.0",
"is_bot": false,
"headline": "bump package version (#62)",
"author_name": "Daniel Chew",
"author_login": "cctdaniel",
"committed_at": "2023-02-03T02:47:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e724b2f14d04256859bf43a575991e9dcf9b539f",
"body": "* add getAssetPricesFromAccounts method\r\n\r\n* add check for price data format\r\n\r\n* add getAssetPricesFromAccounts tests\r\n\r\n* remove duplicate test",
"is_bot": false,
"headline": "Add method to fetch individual prices specified by user (#61)",
"author_name": "Nico Schapeler",
"author_login": "cryptopapi997",
"committed_at": "2023-02-02T17:00:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b61b454e3930f84309fb680831c9e1ee0ca58e8c",
"body": "Guibescos/ignored price status",
"is_bot": false,
"headline": "Merge pull request #59 from pyth-network/guibescos/ignored_price_status",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-26T01:19:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4d183f3f2d9de17e23c24c44235cbba2d98025f",
"body": null,
"is_bot": false,
"headline": "2.12.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-26T01:17:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f9b18280b84c632100e889a554a9da43c342dc7",
"body": null,
"is_bot": false,
"headline": "Change + Changelog",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-26T01:17:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a7a1bfc1e72779d6a55b1af99078f841588bba1",
"body": "Guibescos/bump to 2 11",
"is_bot": false,
"headline": "Merge pull request #57 from pyth-network/guibescos/bump-to-2-11",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:42:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47b8d790241e39ea4629abe4ad8fcb3109ba9f7a",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:28:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6053be0a7be2bc6d45d7b99f81ffcb9255bd6bb8",
"body": null,
"is_bot": false,
"headline": "2.11.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:23:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9f90630669f0c4dfa852d97554c8f07f3fc68711",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:23:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bdafa6b97e563d44271634d7ec82d94322d3a1cb",
"body": "Fix tsconfig to support buffer-layout types",
"is_bot": false,
"headline": "Merge pull request #58 from pyth-network/guibescos/fix-tsconfig",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:22:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cfb2ad0535ba7d54d17aa9c8a646cec922462b4",
"body": null,
"is_bot": false,
"headline": "Format",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:18:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0e62533b1e8cde03070d41933331b8af5729066",
"body": null,
"is_bot": false,
"headline": "Add anchor/types to tsconfig",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-20T04:17:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69af12b61a41b86a36e142915bcceacc8ef90c30",
"body": "Fix anchor dep",
"is_bot": false,
"headline": "Merge pull request #56 from pyth-network/guibescos/fix-anchor-dep",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-18T22:53:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9ffb10764bfbb750e71d79beecee7b7b429a2c9",
"body": null,
"is_bot": false,
"headline": "Revert change to jest",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-18T20:01:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "791a0ced0d81f0b55fadd32a5915e0b65b414d2d",
"body": null,
"is_bot": false,
"headline": "Fix anchor dep",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-18T19:58:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "862053c3eda02579899a731f8103888a1ffdee0f",
"body": "Add updProduct encoder/decoder",
"is_bot": false,
"headline": "Merge pull request #55 from pyth-network/guibescos/upd_product_decoder",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-16T23:52:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6ac5bebeab04c587591e5126d41fd2e5804dfb7d",
"body": null,
"is_bot": false,
"headline": "Typo",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-16T21:16:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cbd6cda3433bcb95a0dbcfae31f66317fbcd5ab1",
"body": null,
"is_bot": false,
"headline": "Lint",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-16T21:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d53b544ba10dbaf91c4783a77927740da55b937",
"body": null,
"is_bot": false,
"headline": "Add updProduct encoder/decoder",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-16T21:12:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "166e0b654c529bce14228ba385b2dea1016ba6e6",
"body": "…metadata\n\nArbitrary product metadata",
"is_bot": false,
"headline": "Merge pull request #54 from pyth-network/guibescos/support-arbitrary-…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-16T18:33:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ef91b1eaac6008e8ccc247ba38a62e4548732e11",
"body": "…omponents\n\nUse numComponents",
"is_bot": false,
"headline": "Merge pull request #53 from pyth-network/guibescos/better-logic-for-c…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-16T18:32:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "609db6fd63933a71255b1cfa965b9e63f9c55004",
"body": null,
"is_bot": false,
"headline": "Simple test",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-13T23:40:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eafd4da90d8df9abdc76d0f902ea14d39f76ee52",
"body": null,
"is_bot": false,
"headline": "Arbitrary product metadata",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-13T23:38:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb54224f5829795acc55ce99c45ba77f8e96a926",
"body": null,
"is_bot": false,
"headline": "Fix type",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-13T20:07:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "acaacd522907f7875d3793646c75264fa361f526",
"body": null,
"is_bot": false,
"headline": "Use numComponents",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-13T20:01:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5bbbe2bfa2ab8b8679ccb149feaeae1a3dd56c73",
"body": "Release v2.10.0",
"is_bot": false,
"headline": "Merge pull request #52 from pyth-network/guibescos/2.10",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-12T00:32:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8aa29a0e361bb94a4e9941d03a35b89fd2fa2543",
"body": null,
"is_bot": false,
"headline": "2.10.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-12T00:29:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fca73d0f3c7cf969de4222a5f5349ee3f0cf361d",
"body": null,
"is_bot": false,
"headline": "Update changelog",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-12T00:28:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "37d2dbce47be7bb6f860e102e8b0244305b710aa",
"body": "…-idl\n\nAdd permission to idl",
"is_bot": false,
"headline": "Merge pull request #51 from pyth-network/guibescos/add-permissions-to…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-12T00:22:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ff019408ef0e7eb1ae87d8120ebc8973219cb2c",
"body": null,
"is_bot": false,
"headline": "Update tests",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-11T22:27:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6d810a4bf30c32754219182b3bb7f78cacd0ee90",
"body": null,
"is_bot": false,
"headline": "Fix typo",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-11T22:21:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc004182a8a8df4b7f2498801d59adc3dd01db74",
"body": null,
"is_bot": false,
"headline": "Fix typo",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-11T22:18:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "77a79c18b95afe74f56925c2420caa37019b359d",
"body": null,
"is_bot": false,
"headline": "Remove resize instruction",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-11T22:15:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ccfd8be65f5bdd4ca2f41fb5884a0af194fd04ae",
"body": null,
"is_bot": false,
"headline": "Update idl",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-11T22:05:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0cb5aea1ac2f8435440b3ed6665e62136546359",
"body": "Add localnet to clusters",
"is_bot": false,
"headline": "Merge pull request #50 from pyth-network/guibescos/cluster-localnet",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-11T03:53:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a9fa4432df71406bb71134642e202ba8c4cf536",
"body": null,
"is_bot": false,
"headline": "Because why not",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-10T20:06:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1e4c1e10689796edd0932491a51f897f3c21c06",
"body": null,
"is_bot": false,
"headline": "Add docs for `Ema` interface (#49)",
"author_name": "J",
"author_login": "jkbpvsc",
"committed_at": "2023-01-10T15:51:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a3d80e1f696696e57487bae7cfc1aed28473ee4",
"body": "…ount\n\nAdd permission account",
"is_bot": false,
"headline": "Merge pull request #48 from pyth-network/guibescos/add-permission-acc…",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-07T01:18:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f18151a537e977692beb5c4c60627e5f31711d4",
"body": "Guibescos/fix idl",
"is_bot": false,
"headline": "Merge pull request #47 from pyth-network/guibescos/fix-idl",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-07T01:18:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b27fb3af269e25613f609f62fc4f294365a61e81",
"body": null,
"is_bot": false,
"headline": "Lint",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T19:42:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4ffd599c40aee65a590ec70dd5992e1d257dfab",
"body": null,
"is_bot": false,
"headline": "Lint",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T19:42:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0458f9b9dbf95b655bb5f11a603f86f05bb51e2",
"body": null,
"is_bot": false,
"headline": "Cleanup",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T19:41:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "000ddeadb2a294413bc878d8483cf9ea32e349ab",
"body": null,
"is_bot": false,
"headline": "Add permission account:",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T19:39:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bc8c8bed28e35f712b0442018f1e86bb1106e03",
"body": null,
"is_bot": false,
"headline": "Fix prettier",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T18:55:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "319b386cce23fe1566cda9608c9204655853cbda",
"body": null,
"is_bot": false,
"headline": "Fix idl",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T18:52:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ce447a08d983bb2644fcd2e86ffc8363b4a7e259",
"body": null,
"is_bot": false,
"headline": "Fix upd_permissions in the idl",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T18:51:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57955f325ae696e2358ee98d6076f7adcfbc88d0",
"body": null,
"is_bot": false,
"headline": "Fix typo",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-06T17:06:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7163d005442d94ef1b5bfc61a3b9ac224e275271",
"body": "Expose anchor coder and change idl for consistency",
"is_bot": false,
"headline": "Merge pull request #46 from pyth-network/guibescos/expose-idl-and-coder",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-04T10:36:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f39f9bb58075c25609efae220734782790e5ea3a",
"body": null,
"is_bot": false,
"headline": "Expose anchor coder and change idl for consistency",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-04T00:06:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3bc130f7270c17e067a7ac91828b7ffc8685f76",
"body": "Guibescos/new release",
"is_bot": false,
"headline": "Merge pull request #45 from pyth-network/guibescos/new-release",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-03T15:57:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a387d314862b07f6a4adf48cb9e1494a658e44c",
"body": null,
"is_bot": false,
"headline": "2.9.0",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-03T15:55:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60209cf591ef942a08991ed5f5e1756310d8302e",
"body": null,
"is_bot": false,
"headline": "Update Changelog",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-03T15:55:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78bd937f5b4af1ba54ec74693e47e2341ad91637",
"body": "Format",
"is_bot": false,
"headline": "Merge pull request #44 from pyth-network/guibescos/fix-format",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-03T15:54:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46a594b409a93448039df4f8b34026a7353638b5",
"body": null,
"is_bot": false,
"headline": "Format",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2023-01-03T15:29:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bed1a5ec0cf0e4cee3366e6dfa79f77a3bd36076",
"body": "Guibescos/anchor client",
"is_bot": false,
"headline": "Merge pull request #42 from pyth-network/guibescos/anchor-client",
"author_name": "guibescos",
"author_login": "guibescos",
"committed_at": "2023-01-03T13:05:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c31ac1b9c57d17b87615edb0334fd5d808cd3364",
"body": null,
"is_bot": false,
"headline": "Add comment",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2022-12-30T17:57:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6fb0434251db11cc53c0a1183a022a5ea6f07584",
"body": null,
"is_bot": false,
"headline": "Types",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2022-12-30T17:41:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c70319255cfe4448d155c545d5602da2d840bf51",
"body": null,
"is_bot": false,
"headline": "Restore untouched files 2",
"author_name": "Guillermo Bescos Alapont",
"author_login": "guibescos",
"committed_at": "2022-12-30T17:37:45Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 33,
"commits_last_year": 0,
"latest_release_at": "2025-02-06T19:07:35Z",
"latest_release_tag": "v2.22.1",
"releases_from_tags": false,
"days_since_last_push": 531,
"active_weeks_last_year": 0,
"days_since_latest_release": 531,
"mean_days_between_releases": 80.5
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "@pythnetwork/client",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"pyth",
"solana",
"oracle"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@pythnetwork/client",
"is_deprecated": false,
"latest_version": "2.22.1",
"repository_url": "https://github.com/pyth-network/pyth-client-js",
"versions_count": 44,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 3,
"monthly_downloads": 117793,
"first_published_at": "2021-05-15T02:27:07.394000Z",
"latest_published_at": "2025-02-06T19:08:19.479000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 531
}
]
},
"popularity": {
"forks": 43,
"stars": 106,
"watchers": 21,
"fork_history": {
"days": [
{
"date": "2021-05-28",
"count": 1
},
{
"date": "2021-06-11",
"count": 1
},
{
"date": "2021-07-07",
"count": 1
},
{
"date": "2021-11-11",
"count": 1
},
{
"date": "2021-12-20",
"count": 1
},
{
"date": "2022-01-25",
"count": 1
},
{
"date": "2022-03-04",
"count": 1
},
{
"date": "2022-03-10",
"count": 1
},
{
"date": "2022-03-28",
"count": 1
},
{
"date": "2022-06-10",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-06-21",
"count": 1
},
{
"date": "2022-08-25",
"count": 1
},
{
"date": "2023-01-09",
"count": 1
},
{
"date": "2023-01-14",
"count": 1
},
{
"date": "2023-01-31",
"count": 1
},
{
"date": "2023-02-03",
"count": 1
},
{
"date": "2023-02-08",
"count": 1
},
{
"date": "2023-03-18",
"count": 1
},
{
"date": "2023-07-07",
"count": 1
},
{
"date": "2024-01-17",
"count": 1
},
{
"date": "2024-01-31",
"count": 1
},
{
"date": "2024-02-10",
"count": 1
},
{
"date": "2024-02-18",
"count": 1
},
{
"date": "2024-03-16",
"count": 1
},
{
"date": "2024-03-23",
"count": 1
},
{
"date": "2024-03-29",
"count": 1
},
{
"date": "2024-05-02",
"count": 1
},
{
"date": "2024-05-04",
"count": 1
},
{
"date": "2024-05-05",
"count": 2
},
{
"date": "2024-06-04",
"count": 1
},
{
"date": "2024-08-27",
"count": 1
},
{
"date": "2024-09-13",
"count": 1
},
{
"date": "2025-02-12",
"count": 1
},
{
"date": "2025-02-28",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-07-11",
"count": 1
},
{
"date": "2025-08-01",
"count": 1
},
{
"date": "2026-03-26",
"count": 1
}
],
"complete": true,
"collected": 40,
"total_forks": 43
},
"star_history": null,
"open_issues_and_prs": 7
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 46224,
"source_files_sampled": 26,
"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": [
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-w5hq-g745-h8pq"
],
"fixed_version": "13.0.1",
"advisory_count": 1,
"oldest_advisory_days": 90
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 69,
"malicious_count": 0,
"assessed_package": "npm:@pythnetwork/client@2.22.1",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "buffer",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^6.0.1"
},
{
"name": "@coral-xyz/anchor",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.29.0"
},
{
"name": "@coral-xyz/borsh",
"manifest": "package.json",
"ecosystem": "npm",
"version_constraint": "^0.28.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@coral-xyz/anchor",
"direct": true,
"version": "0.29.0",
"ecosystem": "npm"
},
{
"name": "@coral-xyz/borsh",
"direct": true,
"version": "0.28.0",
"ecosystem": "npm"
},
{
"name": "@coral-xyz/borsh",
"direct": true,
"version": "0.29.0",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": true,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": true,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-function-name",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-get-function-arity",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-hoist-variables",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-member-expression-to-functions",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-optimise-call-expression",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-replace-supers",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-simple-access",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-split-export-declaration",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.15.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/highlight",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.16.2",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-async-generators",
"direct": false,
"version": "7.8.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-bigint",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-class-properties",
"direct": false,
"version": "7.12.13",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-import-meta",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-json-strings",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-logical-assignment-operators",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-nullish-coalescing-operator",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-numeric-separator",
"direct": false,
"version": "7.10.4",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-object-rest-spread",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-catch-binding",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-optional-chaining",
"direct": false,
"version": "7.8.3",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-top-level-await",
"direct": false,
"version": "7.14.5",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-syntax-typescript",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.18.3",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.16.0",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/load-nyc-config",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.3",
"ecosystem": "npm"
},
{
"name": "@jest/console",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/core",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/environment",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/fake-timers",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/globals",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/reporters",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/source-map",
"direct": false,
"version": "27.0.6",
"ecosystem": "npm"
},
{
"name": "@jest/test-result",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/test-sequencer",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/transform",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "@jest/types",
"direct": false,
"version": "27.2.5",
"ecosystem": "npm"
},
{
"name": "@noble/ed25519",
"direct": false,
"version": "1.7.1",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@noble/secp256k1",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "@sinonjs/commons",
"direct": false,
"version": "1.8.3",
"ecosystem": "npm"
},
{
"name": "@sinonjs/fake-timers",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "@solana/buffer-layout",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@solana/web3.js",
"direct": false,
"version": "1.72.0",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.1.16",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.6.3",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.1",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.14.2",
"ecosystem": "npm"
},
{
"name": "@types/bn.js",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "@types/bs58",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.35",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.17.29",
"ecosystem": "npm"
},
{
"name": "@types/graceful-fs",
"direct": false,
"version": "4.1.5",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-coverage",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-lib-report",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@types/istanbul-reports",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "@types/jest",
"direct": false,
"version": "27.5.2",
"ecosystem": "npm"
},
{
"name": "@types/lodash",
"direct": false,
"version": "4.14.182",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "12.20.55",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "15.12.2",
"ecosystem": "npm"
},
{
"name": "@types/node-fetch",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "@types/prettier",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.9.7",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@types/stack-utils",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@types/ws",
"direct": false,
"version": "7.4.7",
"ecosystem": "npm"
},
{
"name": "@types/yargs",
"direct": false,
"version": "16.0.4",
"ecosystem": "npm"
},
{
"name": "@types/yargs-parser",
"direct": false,
"version": "20.2.0",
"ecosystem": "npm"
},
{
"name": "abab",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "7.4.1",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.5.0",
"ecosystem": "npm"
},
{
"name": "acorn-globals",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "acorn-walk",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "agentkeepalive",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "3.2.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": "anymatch",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "babel-jest",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-istanbul",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "babel-plugin-jest-hoist",
"direct": false,
"version": "27.2.0",
"ecosystem": "npm"
},
{
"name": "babel-preset-current-node-syntax",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "babel-preset-jest",
"direct": false,
"version": "27.2.0",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "base-x",
"direct": false,
"version": "3.0.9",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "bigint-buffer",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "bindings",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "bn.js",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "borsh",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.11",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "browser-process-hrtime",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.17.6",
"ecosystem": "npm"
},
{
"name": "bs-logger",
"direct": false,
"version": "0.2.6",
"ecosystem": "npm"
},
{
"name": "bs58",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "bser",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "buffer-layout",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "bufferutil",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "builtin-modules",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001276",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "char-regex",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "cjs-module-lexer",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "co",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "collect-v8-coverage",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "1.9.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "2.20.3",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "cross-fetch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.3",
"ecosystem": "npm"
},
{
"name": "crypto-hash",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.3.8",
"ecosystem": "npm"
},
{
"name": "cssom",
"direct": false,
"version": "0.4.4",
"ecosystem": "npm"
},
{
"name": "cssstyle",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.3.1",
"ecosystem": "npm"
},
{
"name": "dedent",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "deepmerge",
"direct": false,
"version": "4.2.2",
"ecosystem": "npm"
},
{
"name": "delay",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "detect-newline",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "diff",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "diff-sequences",
"direct": false,
"version": "27.0.6",
"ecosystem": "npm"
},
{
"name": "domexception",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "dot-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.3.888",
"ecosystem": "npm"
},
{
"name": "emittery",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "es6-promise",
"direct": false,
"version": "4.2.8",
"ecosystem": "npm"
},
{
"name": "es6-promisify",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "escodegen",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "exit",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "expect",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "eyes",
"direct": false,
"version": "0.1.8",
"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-stable-stringify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fb-watchman",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "file-uri-to-path",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.1.7",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "11.12.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.8",
"ecosystem": "npm"
},
{
"name": "has",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "human-signals",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "humanize-ms",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "import-local",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-generator-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-typedarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isomorphic-ws",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-instrument",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "jayson",
"direct": false,
"version": "3.6.6",
"ecosystem": "npm"
},
{
"name": "jest",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-changed-files",
"direct": false,
"version": "27.3.0",
"ecosystem": "npm"
},
{
"name": "jest-circus",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-cli",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-config",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-diff",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-docblock",
"direct": false,
"version": "27.0.6",
"ecosystem": "npm"
},
{
"name": "jest-each",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-environment-jsdom",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-environment-node",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-get-type",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-haste-map",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-jasmine2",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-leak-detector",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-matcher-utils",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-message-util",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-mock",
"direct": false,
"version": "27.3.0",
"ecosystem": "npm"
},
{
"name": "jest-pnp-resolver",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "jest-regex-util",
"direct": false,
"version": "27.0.6",
"ecosystem": "npm"
},
{
"name": "jest-resolve",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-resolve-dependencies",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-runner",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-runtime",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-serializer",
"direct": false,
"version": "27.0.6",
"ecosystem": "npm"
},
{
"name": "jest-snapshot",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-util",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-validate",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-watcher",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "jest-worker",
"direct": false,
"version": "27.3.1",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.1",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "16.7.0",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "2.5.2",
"ecosystem": "npm"
},
{
"name": "json-stringify-safe",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "jsonparse",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "JSONStream",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "kleur",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "leven",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.17.21",
"ecosystem": "npm"
},
{
"name": "lodash.memoize",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "lower-case",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "make-error",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "makeerror",
"direct": false,
"version": "1.0.12",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.50.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.33",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "0.5.5",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "no-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.6.7",
"ecosystem": "npm"
},
{
"name": "node-gyp-build",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "node-int64",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "node-modules-regexp",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "nwsapi",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "pako",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-is-absolute",
"direct": false,
"version": "1.0.1",
"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": "picocolors",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "pkg-dir",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "prompts",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "psl",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "17.0.2",
"ecosystem": "npm"
},
{
"name": "regenerator-runtime",
"direct": false,
"version": "0.13.9",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.20.0",
"ecosystem": "npm"
},
{
"name": "resolve-cwd",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "resolve.exports",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rpc-websockets",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.3.5",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "sisteransi",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "snake-case",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.5.7",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.3",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.20",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stack-utils",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "string-length",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-bom",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "superstruct",
"direct": false,
"version": "0.14.2",
"ecosystem": "npm"
},
{
"name": "superstruct",
"direct": false,
"version": "0.15.5",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "8.1.1",
"ecosystem": "npm"
},
{
"name": "supports-hyperlinks",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "terminal-link",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "text-encoding-utf-8",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "throat",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "tmpl",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "to-fast-properties",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "toml",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "ts-jest",
"direct": false,
"version": "27.0.7",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "tslint",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "tslint-config-prettier",
"direct": false,
"version": "1.18.0",
"ecosystem": "npm"
},
{
"name": "tsutils",
"direct": false,
"version": "2.29.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "type-detect",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "typedarray-to-buffer",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "utf-8-validate",
"direct": false,
"version": "5.0.9",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "8.3.2",
"ecosystem": "npm"
},
{
"name": "v8-to-istanbul",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "w3c-hr-time",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "walker",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "8.7.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "7.4.6",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.8.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "16.2.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.7",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 413,
"direct_count": 5,
"indirect_count": 408
}
},
"maintainership": {
"issues": {
"open_prs": 5,
"merged_prs": 63,
"open_issues": 2,
"closed_ratio": 0.714,
"closed_issues": 5,
"closed_unmerged_prs": 8
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "guibescos",
"commits": 97,
"avatar_url": "https://avatars.githubusercontent.com/u/59208140?v=4"
},
{
"type": "User",
"login": "evan-gray",
"commits": 24,
"avatar_url": "https://avatars.githubusercontent.com/u/56235822?v=4"
},
{
"type": "User",
"login": "cctdaniel",
"commits": 14,
"avatar_url": "https://avatars.githubusercontent.com/u/26521733?v=4"
},
{
"type": "User",
"login": "jayantk",
"commits": 11,
"avatar_url": "https://avatars.githubusercontent.com/u/541339?v=4"
},
{
"type": "User",
"login": "jacksturt",
"commits": 5,
"avatar_url": "https://avatars.githubusercontent.com/u/117492794?v=4"
},
{
"type": "User",
"login": "ali-behjati",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/1773139?v=4"
},
{
"type": "User",
"login": "cryptopapi997",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/38372048?v=4"
},
{
"type": "User",
"login": "Admdebian",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1178023?v=4"
},
{
"type": "User",
"login": "beautyfree",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/656531?v=4"
},
{
"type": "User",
"login": "dr497",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/47689875?v=4"
}
],
"contributors_sampled": 16,
"top_contributor_share": 0.584
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"node.js.yml",
"npm-publish.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 5,
"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": 0,
"reason": "0 out of 12 merged PRs checked by a CI test -- score normalized to 0",
"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": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"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": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"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": 1,
"reason": "dependency not pinned by hash detected -- score normalized to 1",
"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": 0,
"reason": "37 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "f37e2d94dcc3043fff4973480b86378e4e623344",
"ran_at": "2026-07-22T19:29:50Z",
"aggregate_score": 3.6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [
{
"number": 5,
"created_at": "2021-07-07T18:32:20Z",
"last_comment_at": "2022-02-16T17:34:03Z",
"last_comment_author": "ebramanti"
},
{
"number": 16,
"created_at": "2021-11-29T15:57:46Z",
"last_comment_at": "2022-02-16T17:30:40Z",
"last_comment_author": "ebramanti"
},
{
"number": 17,
"created_at": "2021-12-16T06:24:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 37,
"created_at": "2022-08-25T08:32:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 43,
"created_at": "2023-01-03T13:06:39Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2025-02-06T19:07:04Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 66,
"created_at": "2023-02-06T20:34:43Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 78,
"created_at": "2024-04-07T13:03:29Z",
"last_comment_at": "2024-09-14T16:32:04Z",
"last_comment_author": "lxhyl"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/pyth-network/pyth-client-js",
"host": "github.com",
"name": "pyth-client-js",
"owner": "pyth-network"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": "Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 49.",
"notes": [
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 49,
"pct": 60
}
}
],
"value": 30,
"inputs": {
"security": 45,
"vitality": 25,
"community": 60,
"governance": 66,
"engineering": 51,
"abandonment_cap": 49,
"abandonment_state": "likely_abandoned",
"abandonment_multiplier": 60,
"weighted_overall_before_abandonment": 50,
"overall_after_abandonment_multiplier": 30
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 25,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 531,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 531 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 531
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"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": 60,
"inputs": {
"releases_count": 33,
"latest_release_tag": "v2.22.1",
"releases_from_tags": false,
"days_since_latest_release": 531,
"mean_days_between_releases": 80.5
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "33 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 33
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 531 days ago",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 531
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~80.5 days",
"points": 19.8,
"status": "partial",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 80.5
}
}
],
"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": "moderate",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"cap": 49,
"state": "likely_abandoned",
"guards": [],
"signals": [
"unanswered_contributions",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 60,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 5,
"unanswered_open_issues": 2,
"days_since_last_merged_pr": 531,
"days_since_last_human_commit": 531,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 531 days; 3 unmet obligation(s): pull requests unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 60,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 531,
"count": 3,
"signals": "pull requests unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 60,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"forks": 43,
"stars": 106,
"watchers": 21,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "106 stars",
"points": 32.8,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 106
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "43 forks",
"points": 13.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 43
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "21 watchers",
"points": 7.2,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 21
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "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": 84,
"inputs": {
"packages": [
"@pythnetwork/client"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 117793
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "117,793 downloads/month across npm",
"points": 67.6,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 117793,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 66,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 16,
"top_contributor_share": 0.584
},
"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 58% of commits",
"points": 9.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 58
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "16 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 16
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"merged_prs": 63,
"open_issues": 2,
"closed_issues": 5,
"issue_closed_ratio": 0.714,
"closed_unmerged_prs": 8
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "71% of issues closed",
"points": 33.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 71
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "63/71 decided PRs merged",
"points": 33.9,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 63,
"decided": 71
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "all changesets reviewed",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"followers": 827,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "pyth-network",
"public_repos": 45,
"account_age_days": 2053
},
"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": "827 followers of pyth-network",
"points": 21,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 827,
"login": "pyth-network"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "45 public repos, account ~5 yr old",
"points": 23.3,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 45
}
},
{
"code": "account_age_years",
"params": {
"years": 5
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "good",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"packages": [
"@pythnetwork/client"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 531
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 531 days ago",
"points": 14,
"status": "partial",
"details": [
{
"code": "publish_recency",
"params": {
"days": 531
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "44 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 44
}
}
],
"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": 51,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 48,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 12 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://pyth.network",
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://pyth.network",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 45,
"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": 36,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 3.6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection is not maximal on development and all release branches",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 12 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"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": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"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 1",
"points": 0.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": "37 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Matched the npm:@pythnetwork/client@2.22.1 runtime dependency closure — what installing the published package pulls in — 69 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "npm:@pythnetwork/client@2.22.1",
"assessed": 69
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 79,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 69,
"unassessed_packages": 0,
"affected_by_severity": "high 1",
"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": "1 affected: uuid 8.3.2 (high 7.5)",
"points": 10,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "uuid 8.3.2 (high 7.5)"
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "1 advisory-carrying package(s) unaddressed past 90 days; oldest published 90 days ago",
"points": 33.7,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 1,
"oldest": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 69,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 5
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "at_risk",
"name": "AI Readiness",
"value": 45,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 19,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.35,
"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": "35 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 18.7,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 35,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "at_risk",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 44,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [
"tsconfig.json"
],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 1",
"points": 1,
"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": 46224,
"source_files_sampled": 26,
"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/26 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 26,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-22T19:30:11.799038Z",
"schema_version": "0.26.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/p/pyth-network/pyth-client-js.svg",
"full_name": "pyth-network/pyth-client-js",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}