原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"agent",
"agentic",
"agentic-ai",
"agents",
"agents-sdk",
"ai",
"ai-agents",
"aiagentframework",
"genai",
"genai-chatbot",
"llm",
"llms",
"multi-agent",
"multi-agent-systems",
"multi-agents",
"multi-agents-collaboration"
],
"is_fork": false,
"size_kb": 4423,
"has_wiki": false,
"homepage": "https://adk.dev",
"languages": {
"Go": 13411,
"HTML": 21614,
"Shell": 961,
"JavaScript": 51196,
"TypeScript": 2959404
},
"pushed_at": "2026-07-27T17:22:57Z",
"created_at": "2025-08-14T01:57:35Z",
"owner_type": "Organization",
"updated_at": "2026-07-27T17:23:55Z",
"description": "An open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.",
"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://opensource.google/",
"name": "Google",
"type": "Organization",
"login": "google",
"company": null,
"location": "United States of America",
"followers": 76038,
"avatar_url": "https://avatars.githubusercontent.com/u/1342004?v=4",
"created_at": "2012-01-18T01:30:18Z",
"is_verified": null,
"public_repos": 2888,
"account_age_days": 5304
},
"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": "integrations-v1.4.0",
"kind": "other",
"published_at": "2026-07-20T21:51:33Z"
},
{
"tag": "devtools-v1.4.0",
"kind": "other",
"published_at": "2026-07-20T21:51:32Z"
},
{
"tag": "adk-v1.4.0",
"kind": "other",
"published_at": "2026-07-20T21:51:31Z"
},
{
"tag": "devtools-v1.3.0",
"kind": "other",
"published_at": "2026-06-23T17:40:13Z"
},
{
"tag": "adk-v1.3.0",
"kind": "other",
"published_at": "2026-06-23T17:40:12Z"
},
{
"tag": "main-v1.3.0",
"kind": "other",
"published_at": "2026-06-23T17:40:11Z"
},
{
"tag": "devtools-v1.2.0",
"kind": "other",
"published_at": "2026-06-03T17:46:05Z"
},
{
"tag": "adk-v1.2.0",
"kind": "other",
"published_at": "2026-06-03T17:46:04Z"
},
{
"tag": "main-v1.2.0",
"kind": "other",
"published_at": "2026-06-03T17:46:02Z"
},
{
"tag": "devtools-v1.1.0",
"kind": "other",
"published_at": "2026-04-28T21:47:58Z"
},
{
"tag": "adk-v1.1.0",
"kind": "other",
"published_at": "2026-04-28T21:47:57Z"
},
{
"tag": "main-v1.1.0",
"kind": "other",
"published_at": "2026-04-28T21:47:56Z"
},
{
"tag": "devtools-v1.0.0",
"kind": "other",
"published_at": "2026-04-21T15:45:48Z"
},
{
"tag": "adk-v1.0.0",
"kind": "other",
"published_at": "2026-04-21T15:45:47Z"
},
{
"tag": "main-v1.0.0",
"kind": "other",
"published_at": "2026-04-21T15:45:45Z"
},
{
"tag": "devtools-v0.6.1",
"kind": "other",
"published_at": "2026-03-31T01:26:46Z"
},
{
"tag": "adk-v0.6.1",
"kind": "other",
"published_at": "2026-03-31T01:26:45Z"
},
{
"tag": "main-v0.6.1",
"kind": "other",
"published_at": "2026-03-31T01:26:45Z"
},
{
"tag": "devtools-v0.6.0",
"kind": "other",
"published_at": "2026-03-25T23:12:29Z"
},
{
"tag": "adk-v0.6.0",
"kind": "other",
"published_at": "2026-03-25T23:12:28Z"
},
{
"tag": "main-v0.6.0",
"kind": "other",
"published_at": "2026-03-25T23:12:28Z"
},
{
"tag": "devtools-v0.5.0",
"kind": "other",
"published_at": "2026-03-09T23:07:11Z"
},
{
"tag": "adk-v0.5.0",
"kind": "other",
"published_at": "2026-03-09T23:07:10Z"
},
{
"tag": "main-v0.5.0",
"kind": "other",
"published_at": "2026-03-09T23:07:10Z"
},
{
"tag": "devtools-v0.4.0",
"kind": "other",
"published_at": "2026-02-25T23:48:04Z"
},
{
"tag": "adk-v0.4.0",
"kind": "other",
"published_at": "2026-02-25T23:48:03Z"
},
{
"tag": "main-v0.4.0",
"kind": "other",
"published_at": "2026-02-25T23:48:02Z"
},
{
"tag": "devtools-v0.3.0",
"kind": "other",
"published_at": "2026-01-31T04:15:17Z"
},
{
"tag": "adk-v0.3.0",
"kind": "other",
"published_at": "2026-01-31T04:15:16Z"
},
{
"tag": "main-v0.3.0",
"kind": "other",
"published_at": "2026-01-31T04:15:15Z"
},
{
"tag": "devtools-v0.2.5",
"kind": "other",
"published_at": "2026-01-29T00:24:51Z"
},
{
"tag": "adk-v0.2.5",
"kind": "other",
"published_at": "2026-01-29T00:24:50Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2026-01-17T01:03:45Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2026-01-15T21:52:53Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2026-01-08T23:22:12Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2025-12-17T03:11:17Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2025-12-15T20:26:50Z"
},
{
"tag": "v0.1.3",
"kind": "patch",
"published_at": "2025-12-12T06:22:26Z"
}
],
"recent_commits": [
{
"oid": "7f39b6c330bcadfedc35c29d67d103e7d0f6bb2b",
"body": "* fix(security): require authentication when mounting A2A server\n\nBug: b/508330032\n\n* fix(security): opt local dev api_server into unauthenticated A2A\n\nThe dev API server (`adk api_server`/`web --a2a`) is a local development surface that relied on toA2a's previous no-auth default. Now that toA2a fai\n[…]\nn a public repo; the\nsurrounding explanatory prose stands on its own.\n\n* test: match A2A fail-closed assertion to public error message\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "fix(security): require authentication when mounting A2A server (#529)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-27T17:22:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b6b82966e3b3d6c1932e24cf27322570b927cd8d",
"body": "…ipts (#528)\n\n* fix(security): require confirmation before executing inline skill scripts\n\nThe run_skill_inline_script tool passed model-emitted script_content\nverbatim to the code executor with no confirmation gate, allow-list, or\nstatic analysis. Once a SkillToolset registered the tool, any prompt\n[…]\nlineScripts option is explicitly true; it is disabled by default. The human-in-the-loop confirmation gate remains as defense-in-depth.\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "fix(security): require confirmation before executing inline skill scr…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-27T17:22:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "24bb8e92858a9e23d419948bca465fa24fc3328c",
"body": "…425992518) (#515)",
"is_bot": false,
"headline": "Fix: Artifact Saving Message Part Replacement & LLM Exposure (TODO b/…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-23T19:03:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c10ccd61e67f5eb55941eace7b3a6b902dd65059",
"body": "…ent_processor_utils.ts (#509)",
"is_bot": false,
"headline": "Feat: Upgrade branch string matching to Trie search structure in cont…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-23T18:47:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9089be394e0419112653d439841f299b7a265b4",
"body": "… with adk-python b/425992518) (#507)\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: scope global instructions using GlobalInstructionPlugin (parity…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-22T20:59:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "312b463e7861b6a353c4ad6822239e67db123334",
"body": "…pt (#504)\n\n* feat: port LoopAgent live streaming support () to TypeScript and add unit/e2e tests\n\n* refactor: simplify LoopAgent runLiveImpl and MockSubAgent yielding loops based on complexity audit\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Port LoopAgent live streaming support (runLiveImpl) to TypeScri…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-22T20:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "85d03217663214ec89da5ddbe71c433fcee29ac4",
"body": "…mpactors (#470)\n\n* Feat: Implement AnchoredContextCompactor in adk-js\n\n* Fix: Mock Date.now in anchored integration test to prevent CI macos-latest timing issues\n\n* Chore: Revert package-lock.json changes\n\n* Refactor context compactor retain logic to shared utility\n\n* style: fix formatting in core/src/common.ts\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "Feat: Implement Anchored Iterative Summarization in adk-js context co…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-21T17:20:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eced61b508d2b750899b7c2f9504448589ce6449",
"body": null,
"is_bot": false,
"headline": "Release: v1.4.0 (#452)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-07-20T21:51:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f9e8f20f1708effc4e6965d6141655f92c2f65b",
"body": "* fix(sessions/vertexai): quote userId in AIP-160 list filter\n\nVertexAiSessionService.listSessions built the Vertex AI Agent Engine list\nfilter by interpolating the raw userId into a quoted AIP-160 string literal\n(`user_id=\"${userId}\"`). A double quote in userId breaks out of the literal and\nappends\n[…]\nes\n\nAdd direct unit tests for quoteFilterLiteral covering plain value, quote\ninjection, backslash-only, and empty input, matching the edge-case coverage of\nthe adk-python fix (google/adk-python#5273).",
"is_bot": false,
"headline": "fix(sessions/vertexai): quote userId in AIP-160 list filter (#499)",
"author_name": "yyy",
"author_login": "petrmarinec",
"committed_at": "2026-07-20T21:23:30Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3ed86d5f285be9e1ba47615c4948968b1b9e1a3d",
"body": "SKILL.md files were not being properly loaded when tables were present, since these use the string `\"---\"` as a delimiter as well.\n\nAdded a test for this and fixed an integration test's testcase data.",
"is_bot": false,
"headline": "fix: load SKILL.md files with tables (#500)",
"author_name": "Andrés Mármol",
"author_login": "serdnam",
"committed_at": "2026-07-20T21:23:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ca2209b68c2fee3c84ea7d90e050ca2fe9951193",
"body": "…compaction (#496)\" (#498)",
"is_bot": false,
"headline": "Revert \"fix: gracefully handle missing function calls during context …",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-15T22:03:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da24221474eddb84bc09e2a202dbdc13bc79adc1",
"body": "…on (#496)\n\n* fix: gracefully handle context compaction removing function calls\n\n* test: update getContents test to verify graceful degradation\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "fix: gracefully handle missing function calls during context compacti…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-15T21:52:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f72dcbc38e0869911f698886330d42ffa8bc932a",
"body": "…ion Resumption Routing (#490)\n\n* Feat: Cleanup and Generalize determineAgentForResumption for LRO Session Resumption Routing\n\n* feat(apps): support ResumabilityConfig in App and Runner (#490)\n\n* chore: fix date in the license header\n\n* test(compaction): mock Date.now and add tick helper to prevent millisecond timestamp collisions during fast in-memory integration tests\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>\nCo-authored-by: kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "Feat: Cleanup and Generalize determineAgentForResumption for LRO Sess…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-15T21:51:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff34add5e4908efd1e9f7b895e7e92a493720bb2",
"body": "…xt in instruction templates (#494) (#495)",
"is_bot": false,
"headline": "fix(core): format object state and Part artifact values as JSON or te…",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-07-15T21:22:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0aa4d82ac4f8bec9520c6f55614609be444f5a60",
"body": "* feat: Implement Agent-Controlled Compaction in adk-js\n\n* chore: restore package-lock.json\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat: Implement Agent-Controlled Compaction (#477)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-15T20:48:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5fe7a1c41c789a9d7f54de9b00696539d4aee76",
"body": "…et (#493)\n\nBaseToolset.isToolSelected ports adk-python's `if not self.tool_filter:\nreturn True`, but an empty array is truthy in JavaScript, so the default\n`toolFilter: []` fell through to `[].includes(tool.name)` and rejected\nevery tool. Since the framework always passes a ReadonlyContext when\ncol\n[…]\nixing the base class restores python\nparity for all subclasses.\n\nAlso covers OpenAPIToolset.getTools with the real filter path (the\nexisting context test stubbed isToolSelected, which masked the bug).",
"is_bot": false,
"headline": "fix(tools): treat an empty toolFilter array as no filter in BaseTools…",
"author_name": "Sahil Saini",
"author_login": "sahilsaini5",
"committed_at": "2026-07-15T20:46:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bcf1e27f4c43d4c81f21eb1e95dbf25374f0d711",
"body": "…#491)\n\nToolContextCredentialStore cast `context.state` (a `State` instance) to a plain\nobject and used bracket access. `context.state` keeps its data in a private\nvalue/delta store exposed only through `get()`/`set()`, so:\n\n- `storeCredential` did `state[key] = credential`, setting an own property \n[…]\nnd added coverage that\n(a) the stored credential is recorded in the delta and (b) a credential\npersisted by one tool call is reused by the next (rebuilt from `State.toRecord()`)\nwithout re-exchanging.",
"is_bot": false,
"headline": "fix(tools): persist exchanged OpenAPI credentials via the State API (…",
"author_name": "Sahil Saini",
"author_login": "sahilsaini5",
"committed_at": "2026-07-15T20:14:46Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c46d71bcd14cb90a0b7befb810c45f60da8cc309",
"body": "…he whole run (#484)\n\n* fix(agents): share the invocation cost manager so maxLlmCalls spans the whole run\n\n`maxLlmCalls` is meant to cap the total number of LLM calls for an entire\ninvocation, which \"can contain one or multiple agent calls\" per the\nInvocationContext docs. However, the LLM-call count\n[…]\ntruct child contexts by hand; this one exercises the actual\nagent-run code path the fix targets.\n\nAlso bump the test file's copyright year to 2026 to match the repo\nconvention for files added in 2026.",
"is_bot": false,
"headline": "fix(agents): share the invocation cost manager so maxLlmCalls spans t…",
"author_name": "Sahil Saini",
"author_login": "sahilsaini5",
"committed_at": "2026-07-15T20:14:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fd69b69d7df5a2a422ce269d0f3db249288771ad",
"body": "* feat: apps\n\n* feat: add App class support and entrypoint discovery with integration tests\n\n* chore: update test not to fail on CI because of the out-of-memory issue.\n\n* fix: fix failing test\n\n* chore: fix review comments",
"is_bot": false,
"headline": "Feat: Support apps (#489)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-07-15T20:12:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d9c322dd1046253c1e1b972eca2d9ccccac27bf",
"body": "getSession already refuses to return a session that does not belong to the\ngiven userId, and InMemorySessionService.deleteSession loads the session\nbefore removing it. VertexAiSessionService.deleteSession ignored userId and\ndeleted by sessionId alone, so a caller could delete another user's session\n\n[…]\n the session with getSession first and only delete when it belongs to the\ncaller. Deleting your own or a non-existent session behaves as before. Adds\ntests for the cross-user and missing-userId cases.",
"is_bot": false,
"headline": "Enforce session ownership in VertexAiSessionService.deleteSession (#492)",
"author_name": "Lakshay Sharma",
"author_login": "MrW0r57",
"committed_at": "2026-07-15T20:11:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "f22e9597a60f2ccc4e933ab0b445e77f3f4d44b9",
"body": "…ession key (#486)\n\n* feat(core): introduce CompositeSessionKey interface and update service requests\n\n* refactor(runner): construct and pass CompositeSessionKey in saveArtifacts (b/425992518)\n\n* test(integration): increase timeout in build_setup_test to prevent flakiness on Windows CI\n\n* Revert changes to package-lock.json and build_setup_test.ts\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Group appName, userId, and sessionId into a unified composite s…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-15T00:08:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ddbe34b1205266506358793a1d16707fd3c3c96b",
"body": "Co-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(cli): support --agent_engine_id in deploy agent_engine (#487)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-14T23:56:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "932d1214a199e0bce876198a004def6e5ed9d8b4",
"body": "…ool Staging (#468)\n\n* Feat: Replace Promise<void> with Task type in ActiveStreamingTool\n\n* Refactor Task to use AbortController and TaskExecutable\n\n* Export TaskExecutable to fix docs check\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Replace Promise<void> with proper Task type in ActiveStreamingT…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-14T18:17:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1f8e985484463c0badd0210c1c56f7e46dc1dfb",
"body": "…gator (#485)\n\nStreamingResponseAggregator.close() returned `content: { parts: [] }` whenever a\nturn accumulated no parts but a trailing chunk carried usage metadata -- e.g. a\nfunction call that was already flushed, followed by a STOP chunk carrying only\nusage data. That empty-parts model turn is ap\n[…]\nead of setting `parts: []`.\n\nUpdated the existing \"preserve metadata in close()\" test to assert the\nmetadata-only response omits `content`, which doubles as a regression guard.\n\nAddresses #21 and #22.",
"is_bot": false,
"headline": "fix(core): don't emit empty-parts model content from the stream aggre…",
"author_name": "Darien Kindlund",
"author_login": "dkindlund",
"committed_at": "2026-07-14T17:58:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4bc7086a372cdd7c27db426a8b8d0f96ce646b96",
"body": "* feat(core): allow configuring `GcsArtifactService`'s `Storage` instance\n\n* fix(core): nest custom metadata under GCS resource metadata field\n\n`GcsArtifactService` wrote `customMetadata` flat as a sibling of `contentType` in `file.save()`'s options, but the SDK requires custom key-value pairs to be\n[…]\nd URI as a zero-byte GCS blob with appropiate metadata, or just the reference held in memory.\n\n* feat: add fileData Part support to `FileArtifactService`\n\n* chore: remove fileData-specific test helper",
"is_bot": false,
"headline": "feat: add fileData support to GcsArtifactService (#476)",
"author_name": "Andrés Mármol",
"author_login": "serdnam",
"committed_at": "2026-07-14T17:55:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1c405a4e3a1a728710f08db33286d3ff8c8bbd98",
"body": "…k IPv6 [::] (#482)\n\nThe SSRF blocklist added in #465/#431 only validates the initial URL string,\nbut all OAuth2 fetches use fetch()'s default `redirect: 'follow'`. A token or\ndiscovery URL that passes validation can therefore return a 3xx that redirects\nthe request to a private/cloud-metadata host.\n[…]\n URL parser normalizes `[::0]` and `[0:0:0:0:0:0:0:0]` to `[::]`,\n so a single entry covers all forms.\n\nAdds tests covering redirect: 'error' on all three requests and the new\n`[::]` blocklist cases.",
"is_bot": false,
"headline": "fix(auth): prevent SSRF credential leak via OAuth2 redirects and bloc…",
"author_name": "Sahil Saini",
"author_login": "sahilsaini5",
"committed_at": "2026-07-14T17:42:51Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "89012ad9ed45ddd5ed0700616a9061560cfdf5f1",
"body": "…n adk-js (#481)\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Internalize removeClientFunctionCallId into content processor i…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-14T17:34:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad84b98e2f9d71e669766fdd8eb05331a95b4de0",
"body": "… (#474)\n\nshouldCompact previously summed usageMetadata.promptTokenCount across\nall active events. Each of those values is the full prompt size of the\ncall that produced it, so the sum re-counts the same history once per\nevent and grows with call count rather than context size: sessions\ncross any th\n[…]\nch already includes system instruction, tools, and full\nhistory - and fall back to a chars/4 estimate over the effective\nrequest contents (getContents) when no usage metadata is available.\n\nFixes #473",
"is_bot": false,
"headline": "fix: gate token-based compaction on latest prompt size, not event sum…",
"author_name": "phillip-hicks-siro",
"author_login": "phillip-hicks-siro",
"committed_at": "2026-07-14T00:39:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "30ba32f3a2f6098460e99956c8bd4c66bfb7f06f",
"body": "…#479)\n\nBumps the go_modules group with 1 update in the /tests/cross_language/a2a/go_ts/go_client directory: [golang.org/x/crypto](https://github.com/golang/crypto).\nBumps the go_modules group with 1 update in the /tests/cross_language/a2a/ts_go/go_backend directory: [golang.org/x/crypto](https://gi\n[…]\n\n dependency-type: indirect\n dependency-group: go_modules\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore: Bump the go_modules group across 2 directories with 1 update (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-13T21:39:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "87e15ec9495c3fd7136e4f82ec5c8b8d6b24089e",
"body": "* feat: add AsyncLocalStorage shim for browser compatibility\n\n* build: alias node:async_hooks for browser build\n\n* feat: implement configurable client labels and user agent parser\n\n* feat: export client label utilities from common.ts\n\n* fix(client-labels): apply audit feedback, remove EVAL_CLIENT_LA\n[…]\n\n* fix(client-labels): fix eslint warning for window in ternary\n\n* refactor(client-labels): extract UA patterns constant and add JSDoc\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Configurable Client Labels in adk-js (#454)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-13T18:57:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e30c891789867610618fc799348834d704579c77",
"body": "* fix(core): default newMessage role to 'user' when omitted (#475)\n\n* fix(core): keep fix localized to runner.ts to satisfy existing tests",
"is_bot": false,
"headline": "fix(core): default newMessage role to 'user' when omitted (#475) (#478)",
"author_name": "Varun-S10",
"author_login": "Varun-S10",
"committed_at": "2026-07-13T18:55:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97b164e72dc6c8bcf37c3ea104f75161af98ce3a",
"body": "…#469)\n\nBumps the go_modules group with 1 update in the /tests/cross_language/a2a/go_ts/go_client directory: [golang.org/x/net](https://github.com/golang/net).\nBumps the go_modules group with 1 update in the /tests/cross_language/a2a/ts_go/go_backend directory: [golang.org/x/net](https://github.com/\n[…]\n\n dependency-type: indirect\n dependency-group: go_modules\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>",
"is_bot": true,
"headline": "chore: Bump the go_modules group across 2 directories with 1 update (…",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-13T18:55:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2ff0643133455ed748f3b4085ece32cb0027c12c",
"body": "* fix(streaming): supress empty part arrays\n\n* chore: add license header to sample file\n\n* fix: license header",
"is_bot": false,
"headline": "fix(streaming): supress empty part arrays (#450)",
"author_name": "Andrés Mármol",
"author_login": "serdnam",
"committed_at": "2026-07-06T05:07:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "82ed4e123ef8900f26e9a31e8d1880342c7b57fc",
"body": "* Feat: Add previousInteractionId to LlmRequest and interactionId to LlmResponse\n\n* Feat: Implement and register InteractionsRequestProcessor\n\n* Feat: Implement interactions_utils for mapping and running Interactions API\n\n* Feat: Integrate Interactions API into Gemini model class\n\n* Test: Add unit t\n[…]\n* build: replace cross-env/TSCONFIG_PATH with split-command format scripts\n\n* revert: format scripts and test timeouts per PR feedback\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Implement Gemini Interaction API in adk-js (#364)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-07-01T20:42:45Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4953bc4db116ab904f245e21903177d4496f180c",
"body": "…h2Tokens (#465)\n\n* fix(auth): apply SSRF protection to OAuth2 token endpoint fetches\n\nfetchOAuth2Tokens() accepted a tokenUrl from the OpenAPI spec without\nany IP or hostname validation, allowing an attacker-supplied spec to\ndirect the agent to POST OAuth credentials to cloud metadata endpoints\n(GC\n[…]\nprivate ranges. This fix exports that\nfunction and calls it at the top of fetchOAuth2Tokens() before the\nfetch(), closing the inconsistency.\n\nFixes CWE-918 (Server-Side Request Forgery).\n\n* fix format",
"is_bot": false,
"headline": "fix(auth): apply SSRF blocklist to OAuth2 token endpoint in fetchOAut…",
"author_name": "herdiyanitdev",
"author_login": "herdiyana256",
"committed_at": "2026-07-01T20:23:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "584ce877318794eacbf1cee3d1b90d02edd5dc43",
"body": "* Feat: Implement Trajectory Thought Pruning in adk-js\n\n* Refactor: Move hasThoughts and pruneThoughts to Event utilities\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Implement Trajectory Thought Pruning in adk-js (#451)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-30T21:44:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "64b18e43a93cc93ba1a18b5a511751b24e4ffc66",
"body": "…tService (#455)\n\n* feat(artifacts): refactor ForwardingArtifactService and introduce SessionArtifactService\n\n* chore: revert package-lock.json changes\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Refactor ForwardingArtifactService and introduce SessionArtifac…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-30T21:24:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a65d05fff901565b981f4f38d58b64fb1750812d",
"body": "* feat(integrations): create new top-level integrations package\n\n* update integrations component name in release-please config\n\n* style: format vitest.config.ts with Prettier",
"is_bot": false,
"headline": "feat(integrations): create new top-level integrations package (#449)",
"author_name": "Scott Mansfield",
"author_login": "ScottMansfield",
"committed_at": "2026-06-24T20:32:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d91d64462d07cc95185d24e2682503d54433723",
"body": null,
"is_bot": false,
"headline": "Release: v1.3.0 (#407)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-23T17:39:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b420284079a3fd3e37f7e12ea74188a2c7b2bab4",
"body": "* feat: add --reload_agents flag to watch agent files for changes\n\nWhen --reload_agents is passed to 'npx adk web' or 'npx adk api_server',\nAgentLoader watches the agents directory for file changes using the\nNode.js built-in fs.watch API. When a JS/TS agent file is modified,\nthe in-memory agent cach\n[…]\nontent` for the\n tests that intentionally omit required fields\n\nThis resolves the Windows-only lint failure on CI (PowerShell expands\nthe **/**.ts glob more broadly than bash, exposing these errors).",
"is_bot": false,
"headline": "feat: add --reload_agents flag to watch agent files for changes (#304)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-22T21:14:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2ccb8b07b43eeabfa7cb82edd0850a86650ee136",
"body": "* Feat: Add AUTH_PREPROCESSOR to LlmAgent default requestProcessors\n\n* Feat: Implement AuthPreprocessor in LlmAgent (final)\n\n* Test: fix type errors, clean up imports, and add openapi body prep tests\n\n* test(openapi): add unit tests for JSON response, auth config, and param filtering in RestApiTool\n\n[…]\nst(openapi): fix type errors in RestApiTool tests\n\n* refactor(auth): normalize preprocessor args to camelCase to avoid duplicate types\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Use AuthPreprocessor in LlmAgent (#444)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-22T21:10:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "92ceb87777647fbae2145655fa487a527fa7d5ee",
"body": "…gent Engine Deployment Artifact registry fix part 2) (#441)\n\n* feat(devtools): add Reasoning Engine server compatibility routes and headers parser\n\n* fix(devtools): resolve stream consumption hang and add tests for Reasoning Engine routes\n\n* feat(cli): deploy agent engine to Artifact Registry inste\n[…]\nfig types instead of any/indexed access types in helper\n\n* test(cli): update node:fs/promises mock to support default export in vitest\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(cli): deploy agent engine to Artifact Registry instead of GCR (A…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-22T20:04:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fd94e49071ff41869b24bf2db92f4484ab84606d",
"body": "…headers parser (Agent Engine Deployment Artifact registry fix part 1) (#440)\n\n* feat(devtools): add Reasoning Engine server compatibility routes and headers parser\n\n* fix(devtools): resolve stream consumption hang and add tests for Reasoning Engine routes\n\n* refactor(devtools): use getOrCreateSessi\n[…]\nunner['runAsync'] parameter types\n\n* refactor(devtools): use Content and RunConfig types instead of any/indexed access types in helper\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(devtools): add Reasoning Engine server compatibility routes and …",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-22T19:19:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "9f03632e458d51a14e44ae17031a609c5a875cc8",
"body": "* fix: update default server port from 8000 to 8080\n\n* fix: update default server port to 8000 but hardcode port 8080 for Agent Engine deployment",
"is_bot": false,
"headline": "fix: update default server port from 8000 to 8080 (#439)",
"author_name": "cstanger",
"author_login": "cstanger",
"committed_at": "2026-06-22T18:35:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "02e84dc24cad6057f4958af86b5c386fee9e1953",
"body": "* feat(openapi): implement rest api tool (part 3)\n\nThis implements RestApiTool for executing operations defined in OpenAPI specs.\n\nTAG=agy\nCONV=5d70d8ac-425c-4f8c-a969-97b17ecc66ce\n\n* refactor(openapi): resolve relative imports in RestApiTool tests (part 3)\n\n- Imported OperationEndpoint from openapi\n[…]\nclass method with standalone createRestApiTool utility\n\n* fix(openapi): update OpenAPIToolset to use createRestApiTool helper function\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(openapi): implement rest api tool (part 3) (#386)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-22T17:42:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4ecb7fad7a22a7efb75f85c1f231a7232cce856a",
"body": "…RF check (#431)\n\n* Block 127.0.0.0/8 and cloud-metadata hostnames in discovery URL validation\n\n* Add regression tests for 127.0.0.0/8 and cloud-metadata discovery blocking",
"is_bot": false,
"headline": "Block 127.0.0.0/8 and cloud-metadata hostnames in OAuth2 discovery SS…",
"author_name": "Adil Burak Şen",
"author_login": "adilburaksen",
"committed_at": "2026-06-18T21:41:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "deaeffe15619aac5e1a615c2730501a01e45f907",
"body": "… added unit tests (#412)",
"is_bot": false,
"headline": "fix: resolve infinite loop when combining outputSchema and tools also…",
"author_name": "rpt",
"author_login": "b2rpt",
"committed_at": "2026-06-18T21:41:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8ee5d81d158f6acdb8b6a343203bdf27e27ff9d",
"body": "…r (#427)\n\n* feat: download ADK Web assets dynamically and serve from shared folder\n\n- Remove pre-compiled `dev/src/browser` assets from git tracking to keep the repository source tree clean.\n- Update `dev/build.js` to automatically download and cache `v1.0.0` release assets from GitHub, and extract\n[…]\nist/browser` directory.\n- Update `.gitignore` to ignore the local `dev/.cache/` folder and untrack the old `dev/src/browser/` folder.\n\n* fix ci build\n\n* fix review comments\n\n* update package-lock.json",
"is_bot": false,
"headline": "feat: download ADK Web assets dynamically and serve from shared folde…",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-17T17:56:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c95cb9b6534eb6ce606cd7a1d075ccd2a5adf391",
"body": "…n SSE streaming (#426)\n\n* fix(streaming): suppress trailing empty STOP chunks with zero parts in SSE streaming (#425)\n\n* fix(streaming): suppress trailing empty STOP chunks with zero parts in SSE streaming",
"is_bot": false,
"headline": "fix(streaming): suppress trailing empty STOP chunks with zero parts i…",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-17T17:53:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d6170713f12c3166169b1e95ad88de3ea427c8a",
"body": "…ecurity plugin, a2a utils, and compacted events (#413)\n\n* docs: add TSDoc to BasicLlmRequestProcessor, IdentityLlmRequestProcessor, and RequestConfirmationLlmRequestProcessor\n\nAdd @param and @yields TSDoc to the runAsync overrides in the three processors\nthat were missing inline documentation.\n\n* d\n[…]\nc to a2a utility functions\n\n* test: add unit tests for CodeExecutionRequestProcessor and CodeExecutionResponseProcessor\n\n* fix(docs): remove mismatched @param tags on SecurityPlugin.beforeToolCallback",
"is_bot": false,
"headline": "docs/test: add TSDoc and unit tests for LLM processors, summarizer, s…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-16T21:30:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a008df44e63b38da17ecd102fe8d0781e3871557",
"body": "Add unit tests for OAuth2CredentialRefresher, which previously had no\ntest coverage while its sibling OAuth2CredentialExchanger was already\ntested. The tests cover isRefreshNeeded (no oauth2, missing expiresAt,\nexpired and non-expired tokens) and refresh (missing oauth2, missing\nauth scheme, missing\n[…]\nuction, and fetch failure).\n\nThis brings the refresher to coverage parity with the exchanger and\nmirrors the equivalent test in adk-python.\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for OAuth2CredentialRefresher (#403)",
"author_name": "Sarath Francis",
"author_login": "sarathfrancis90",
"committed_at": "2026-06-16T21:29:52Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7f2037e72d1bfb913a43879f54b21d4fbc6e878c",
"body": "…430)\n\n* Fix: Fix state mutation bad practice in content_processor_utils.ts\n\n* Fix: Fix lint warnings in content_processor_utils.ts\n\n* Fix: Increase integration test timeouts to prevent flakiness\n\n* test: Add tests for empty agentName in content processor utils\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Fix: Fix state mutation bad practice in content_processor_utils.ts (#…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-16T19:21:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98de23eb377c7c54b4dee216383b46aa850d7b71",
"body": "* feat: enable concurrent replacement with key deduplication in injectSessionState\n\n* refactor: optimize placeholder injection and support optional artifacts\n\n* refactor: extract artifact prefix to constant in instructions.ts\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat: enable concurrent replacement with key deduplication (#432)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-16T18:48:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2d1b073858d87a500933bde196ac14a1da6fccb9",
"body": "…ontent_request, and agent_registry_mcp processors (#414)",
"is_bot": false,
"headline": "docs: add TSDoc for agent_transfer, tool_filter, context_compactor, c…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-16T18:43:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92ca9d292bdaff9795db63b0a540b0cc41cfc843",
"body": "* feat(core): Support Gemini 2.5 and 3.1 Live Models in ADK JS\n\n* feat(core): support general Gemini 3.x Live models and skip E2E in CI\n\n* test(e2e): remove hardcoded personal GCP project ID\n\n* feat(core): generalize Gemini 3.1 checks to general 3.x series and rename connection helpers\n\n* refactor(c\n[…]\nay property and add missing contents property to E2E requests\n\n* test: remove console.log statements from e2e tests per review request\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(core): Support Gemini 2.5 and 3.x Live Models in ADK JS (#409)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-16T18:39:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7956766dcaa815977da5783f2e296a1d75164fd8",
"body": null,
"is_bot": false,
"headline": "fix: keep session event keys mysql index-safe (#437)",
"author_name": "Kiwi",
"author_login": "kiwigitops",
"committed_at": "2026-06-16T18:19:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56b0f979031349bb9a0cc90becd6ac1e9ceaf208",
"body": null,
"is_bot": false,
"headline": "refactor(core): use secure randomUUID when available (#433)",
"author_name": "KS Nithin",
"author_login": "Nithin0620",
"committed_at": "2026-06-16T18:17:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a41c62c97d40bba86237021be4a49ab453a26e8b",
"body": "…y Part 3) (#424)\n\n* feat(skills): Implement dynamic SearchSkillsTool for agents\n\nImplement SearchSkillsTool allowing agents to dynamically search for registry skills.\nIntegrate the tool in SkillToolset and inject search instructions into system instructions.\n\nTAG=agy\nCONV=baba4f85-85b1-488e-b53e-2e21f5a529ae\n\n* test(skills): Add integration and E2E tests for GCP Skills Registry\n\n---------\n\nCo-authored-by: Jetski <jetski@google.com>\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(skills): Dynamic SearchSkillsTool for LLM Agents (Skills Registr…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-09T01:27:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33401e85077bd5dc9a816f0345948394ce67e14c",
"body": "…lls Registry Part 2) (#423)\n\n* feat(skills): Implement remote GCP Skills Registry\n\nImplement GCPSkillRegistry utilizing the @google-cloud/vertexai client.\nThis enables fetching skill zip buffers and searching remote registry skills.\n\nTAG=agy\nCONV=baba4f85-85b1-488e-b53e-2e21f5a529ae\n\n* test(skills)\n[…]\nP Skills Registry\n\n* fix(skills): use GET with query parameters for GCPSkillRegistry search\n\n---------\n\nCo-authored-by: Jetski <jetski@google.com>\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(skills): Remote GCP Skills Registry Integration & E2E Tests (Ski…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-09T01:19:29Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "26ba26a12f893835b03eda55ea042b9261e40d3d",
"body": "…ocal Toolset caching fallbacks (PR 1) (#422)\n\nTAG=agy\nCONV=baba4f85-85b1-488e-b53e-2e21f5a529ae\n\nCo-authored-by: Jetski <jetski@google.com>",
"is_bot": false,
"headline": "feat: introduce Skills Registry Core interface, Zip Extraction, and l…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-09T01:12:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4169319f46e7bdac1e4aac0247f6ec7099c5097f",
"body": "…anches (#416)",
"is_bot": false,
"headline": "test: add unit tests for createLlmResponse covering all 4 response br…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-08T23:30:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "feec37bf18acd8e0f0fd78595df7221800af4104",
"body": "…Context and add unit tests (#415)\n\nThe `in` operator on a State class instance checks JavaScript object properties\n(e.g. `.value`, `.delta`) rather than the data stored inside the state map.\nThis caused getInputFiles(), getErrorCount(), updateCodeExecutionResult() and\nrelated methods to always see an empty/reset state instead of accumulated data.\nReplacing the checks with sessionState.has(key) restores the intended behavior.\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix+test: replace in-operator checks with State.has() in CodeExecutor…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-08T23:28:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00d6b2b91cb3e16a24282b6179e02939d7232469",
"body": null,
"is_bot": false,
"headline": "test: add unit tests for AgentRegistrySingleMCPToolset (#417)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-08T23:24:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9008353e6d81e086dc778df67189ee193b440ab7",
"body": "… path (#410)\n\nIn progressive SSE streaming, `FunctionCall.partialArgs[].jsonPath` is taken\ndirectly from the model's streamed output and written into the accumulated\nfunction-call arguments via `ProgressiveStrategy.setValueByJsonPath`. The path\nparts were not validated, so a path such as `$.__proto\n[…]\no inherited members are\nnever traversed.\n\nAdds a regression test asserting that a malicious `jsonPath` does not pollute\n`Object.prototype`.\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix(streaming): prevent prototype pollution via model-controlled JSON…",
"author_name": "Adil Burak Şen",
"author_login": "adilburaksen",
"committed_at": "2026-06-08T23:23:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "8adf05eedc31d6a9d32b9f5c8512258794cac551",
"body": "… 2) (#385)\n\n* feat(openapi): implement auth helpers and credential exchangers (part 1)\n\nThis implements auth helper methods, service account exchanger, and auto auth credential exchanger for OpenAPI tools.\n\nTAG=agy\nCONV=5d70d8ac-425c-4f8c-a969-97b17ecc66ce\n\n* feat(openapi): implement spec operation\n[…]\npiParameter, and AuthPreparationResult.\n- Verified locally with npm run docs:check.\n\nTAG=agy\nCONV=5d70d8ac-425c-4f8c-a969-97b17ecc66ce\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(openapi): implement spec operation parser and auth handler (part…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-08T23:20:08Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "417239854cbae63650f63e0e3ad02fa34f433401",
"body": "Co-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix: replace any with proper AuthConfig type in EventActions (#405)",
"author_name": "KS Nithin",
"author_login": "Nithin0620",
"committed_at": "2026-06-08T21:49:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04968b734e44600a847239f103864e4c404d97c3",
"body": "* Feat: Filter temporary state keys on session creation in TS ADK\n\n* Fix: Resolve agent_loader_test.ts failures in sandbox due to Corp Airlock\n\n* Revert: Revert changes to agent_loader_test.ts\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Fix: Filter temporary state keys on session creation in TS ADK (#406)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-03T21:05:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c93ad5e8ffd744bb3dd6fc3a5316735de313df26",
"body": null,
"is_bot": false,
"headline": "Release: v1.2.0 (#315)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-03T17:45:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e9e0fe62c8c75cea312612be9a8ee42289b13a36",
"body": "… SSE session history (#395)\n\n* fix(streaming): resolve empty finalization chunk and tool drop-offs in SSE history\n\n* refactor(core): simplify StreamingResponseAggregator using the Strategy Pattern\n\nDecouples the progressive and non-progressive streaming logic within `StreamingResponseAggregator` by\n[…]\nelegates mode-specific behavior to the active strategy.\n\n* bump test coverage thresholds\n\n* fix review comments\n\n---------\n\nCo-authored-by: Amaad Martin <57241464+AmaadMartin@users.noreply.github.com>",
"is_bot": false,
"headline": "fix(streaming): suppress empty STOP chunks and preserve tool calls in…",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-02T18:19:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "4e3faa98d77c9610caa7d12aec3a20e019b7d7f3",
"body": "* fix(mcp): implement session tracking, close() lifecycle, and runner-level cleanup\n\n- Track active sessions in MCPSessionManager and close them cleanly when requested\n- Implement MCPToolset.close() to close all remaining active client sessions\n- Wrap MCPTool.runAsync session usage in a try-finally \n[…]\nession` even if the remote tool call throws an error.\n- Add unit tests to verify that `MCPToolset.getTools` closes the session under both success and failure scenarios, leaving `activeSessions` empty.",
"is_bot": false,
"headline": "fix(mcp_toolset): Implement close session method (#394)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-06-02T17:34:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3e901a5b2d4c291628c9f88f223803a7e9269531",
"body": "* Feat: Add support for deployment on Agent Engine\n\n- Registered double commands 'agent_engine' and 'reasoning_engine' in ADK CLI\n- Implemented deployToAgentEngine build and Vertex AI reasoning engine registration pipelines\n- Added exhaustive unit tests to cover 100% of implementation with mocks\n\n* \n[…]\nd deduplicate options across Cloud Run and Agent Engine deployment modules\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "Feat: Add Agent Engine deployment support (#335)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-06-01T18:51:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "71a4c0182610b5cc6d433c8f59d25cde2cf838d1",
"body": "…ctured_events (#381)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "docs: add TSDoc for example_util, event_actions, run_config, and stru…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-01T18:23:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "50b5a00bbf2d5b8f50e89249da4a67f274400bbd",
"body": "…il, run_config, and forwarding_artifact_service (#380)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for event_actions, structured_events, example_ut…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-01T18:08:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69f35b4731f44582d7fd5f95eb7d94cf3d7cfe71",
"body": "…mas (#370)\n\n* fix: handle undefined type in toGeminiSchema for enum/const-only schemas\n\n* fix: forward const value as single-element enum in toGeminiSchema\n\n* fix: avoid mutating input in toGeminiSchema const branch\n\nThe const-only schema branch was directly mutating mcp.type on the\noriginal input \n[…]\nassignment.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>\nCo-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: handle undefined type in toGeminiSchema for enum/const-only sche…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-06-01T17:53:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dd5584a69724dc8aeb7c600d21a71c1f8207accd",
"body": "…ndows libuv assertion and process leak (#333)\n\n* fix(mcp): close MCP client session after listTools and callTool\n\nMCPToolset.getTools() and MCPTool.runAsync() create a new MCP client\nsession via mcpSessionManager.createSession() but never call\nsession.close() afterwards. For stdio transports this l\n[…]\nto expose a close\nmethod. Add close: vi.fn().mockResolvedValue(undefined) to all relevant\nmock instances so the unit tests pass.\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix(mcp): close MCP client session after listTools/callTool to fix Wi…",
"author_name": "cstavaru",
"author_login": "cstavaru",
"committed_at": "2026-05-28T22:40:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "27e5a92e6dcd86260e30119c68934ff62c3dc377",
"body": "* Feat: Implement the Agent Registry in adk-js\n\n* Refactor: Update agent registry test imports to use public entry point\n\n* Refactor: Add robust code comments and implement complete E2E integration test\n\n* Fix: Resolve case-sensitivity bug on Google Auth headers resolution\n\n* chore: Add missing Goog\n[…]\nerride from agent_registry integration test\n\n* Style: Remove all underscore prefixes from private and helper methods in Agent Registry\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Implement the Agent Registry in adk-js (#358)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-05-28T22:08:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "86f794e986310cad433ee59a0d6b754827362528",
"body": "… 1) (#384)\n\n* feat(openapi): implement auth helpers and credential exchangers (part 1)\n\nThis implements auth helper methods, service account exchanger, and auto auth credential exchanger for OpenAPI tools.\n\nTAG=agy\nCONV=5d70d8ac-425c-4f8c-a969-97b17ecc66ce\n\n* fix(openapi): move default auth scopes to constant\n\nTAG=agy\nCONV=5d70d8ac-425c-4f8c-a969-97b17ecc66ce\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "feat(openapi): implement auth helpers and credential exchangers (part…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-05-28T19:13:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7be8c8145a6ff37f5f3863b254f374b2c7072c18",
"body": "Restricts the Express application to bind exclusively to the host\nspecified in options (which defaults to 'localhost'). This prevents\nunintended exposure of the ADK API server on all network interfaces (0.0.0.0).\nAlso adds unit test coverage to verify default and explicit host binding.",
"is_bot": false,
"headline": "fix(server): restrict AdkApiServer to listen on configured host (#383)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-05-28T18:17:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7776ccbfbeb7657c0f0a3411173ae9bbf2ec0dd",
"body": "* feat: abort agent execution on HTTP connection disconnected\n\nEnables the AdkApiServer endpoints (`/run` and `/run_sse`) to correctly monitor Express request `'close'` events. Implements an `AbortController` and wires the generated `AbortSignal` directly into the `Runner.runAsync` parameter tree. S\n[…]\nrors within `basic_llm_request_processor_test.ts` and `code_execution_utils_test.ts` with strict, validated casts. Adds deterministic API tests verifying signal distribution.\n\n* make tests less flaky.",
"is_bot": false,
"headline": "feat: abort agent execution on HTTP connection disconnected (#382)",
"author_name": "Alexey Kalenkevich",
"author_login": "kalenkevich",
"committed_at": "2026-05-28T18:07:49Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b3eb6112e96a0a7d55c9ff209db4769aef500c4a",
"body": "…ntTool (#301)\n\nSetting toolContext.actions.skipSummarization in AgentTool.runAsync leaked\nthe flag onto the tool-response event returned to the parent agent. Because\nisFinalResponse() treats skipSummarization as a terminal signal, the parent\nLlmAgent's run loop broke immediately after receiving the\n[…]\nnded effect of skipSummarization. Not propagating the flag to the\nparent's EventActions preserves correct parent loop behavior.\n\nFixes #288\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix: do not propagate skipSummarization to parent EventActions in Age…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-27T20:40:32Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db1128bc64aadb8ebdc09a7803480df76256be11",
"body": "When AgentTool propagates a sub-agent's stateDelta to the parent\ncontext, keys prefixed with State.TEMP_PREFIX (temp:) were leaked\ninto the parent session state. These keys are explicitly designed\nto be ephemeral per-invocation and must not cross agent boundaries.\n\nFilter them out before calling toolContext.state.update(), and skip\nthe update entirely when all delta keys are temp:.\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix: filter temp: keys from sub-agent state delta in AgentTool (#271)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-27T19:58:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab625c9e29a4385f474df6bc5fd2426f96aea41e",
"body": "…o fix adk web on missing optional deps (#319)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix: mark lightningcss and jiti as external in agent_loader esbuild t…",
"author_name": "sukh",
"author_login": "sukhmanghotraa",
"committed_at": "2026-05-27T19:53:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9d664b371d8197e9bc2826816a095d828a2cfc3",
"body": "* docs: add TSDoc for Runner, RunnerConfig, and InMemoryRunner\n\n* docs: fix TypeDoc @param warnings in InMemoryRunner constructor\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "docs: add TSDoc for Runner, RunnerConfig, and InMemoryRunner (#353)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-27T19:43:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1fe631f55a730aee2e4141f3dd7b6e8e9f756b86",
"body": "…r (#378)\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "Fix: Resolve CORS vulnerability by disabling express.urlencoded parse…",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-05-27T19:34:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8dacbc1691eb9141d5af82d28d976d7e125a697",
"body": "…pository. (#332)\n\n* feat: Add CSAT workflow and scripts\n\n* added license to all files\n\n* fix: Update script paths to use .cjs extension\n\n* Remove REQUEST_CLARIFICATION and STATUS_NEEDS_INFO labels\n\n* Refactor CSAT script to prevent multiple comments and improve label matching\n\n* Combine constant.cjs into csat.cjs\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "chore: customer Satisfaction (CSAT) survey workflow for the ADK JS re…",
"author_name": "rshashank17",
"author_login": "rshashank17",
"committed_at": "2026-05-27T17:34:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "23519a0be7d3cd3f75e73c2ffc0d064080cfecaf",
"body": "* Rewrite README with TS content, quick start, and other updates\n\n* Update headings",
"is_bot": false,
"headline": "Update README with TS content, quick start, and other updates (#379)",
"author_name": "Kristopher Overholt",
"author_login": "koverholt",
"committed_at": "2026-05-26T23:24:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "57b0af76f8abefaaedd130a9c1c9ba3b4b625daf",
"body": "…/12 check (#354)\n\nvalidateDiscoveryUrl() had three bugs allowing SSRF via crafted URLs.\n\n- Add normaliseHostname() to unwrap ::ffff:HHHH:LLLL to dotted-decimal\n before blocklist checks (CWE-918 bypass)\n- Fix dead 172.16.0.0/12 check (secondOcte typo -> secondOctet)\n- Fix ULA regex to cover fd::/8 \n[…]\nts covering all fix vectors\n\nSupersedes #341 (accidentally closed by deleting fork).\n\nCo-authored-by: g0w6y <g0w6y@users.noreply.github.com>\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix(auth/oauth2): block SSRF via IPv4-mapped IPv6 and fix dead 172.16…",
"author_name": "ⳕⲛτⲉⲅⲥⲉⳏτⲟⲅ 🕵🏻",
"author_login": "g0w6y",
"committed_at": "2026-05-26T19:05:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1083534f0decc89b509fff9b92d3a187cc4e8929",
"body": "…Processor, and RequestConfirmationLlmRequestProcessor (#372)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for BasicLlmRequestProcessor, IdentityLlmRequest…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-26T18:50:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b0af635a48d6bd89499eafb43d6a815f3614199",
"body": "…opTool (#373)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "docs: add TSDoc for FunctionTool, LongRunningFunctionTool, and ExitLo…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-26T18:48:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a97802e7f148a1a992598ac913baa495cdfceeb9",
"body": "Co-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for code_execution_utils.ts (#374)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-26T18:46:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faa458e2487125d45882013ac6d4652a9f65438b",
"body": "…(#363)\n\n* Feat: Implement customMetadata support in runAsync and runEphemeral\n\n* Fix: Correct import of createUserContent in E2E test\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "Feat: Implement customMetadata support in runAsync and runEphemeral. …",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-05-26T18:38:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af115b61ddda67b89b7268b15ac50c778c200d75",
"body": "…ni API (#347)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "fix(core): wrap array responses in function tools to comply with Gemi…",
"author_name": "iyedb",
"author_login": "iyedb",
"committed_at": "2026-05-26T18:31:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed9b72bed42b2661e1f43be6aee70f65c1433520",
"body": "* feat: add pagination and sorting to listSessions\n\nAdd pagination and sorting capabilities to the session listing API.\n\nChanges:\n- ListSessionsRequest now accepts limit, offset, page, and order parameters\n- ListSessionsResponse now includes page, limit, totalItems, and totalPages\n- Sorting by updat\n[…]\nering pagination edge cases and sorting\n\nCloses #324\n\n* fix: apply pagination and sorting to VertexAiSessionService.listSessions\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "feat: add pagination and sorting to listSessions (#331)",
"author_name": "Akhil",
"author_login": "adwibha",
"committed_at": "2026-05-26T18:19:26Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "db5a26f88afe7aaf97200edb0ec699ba26acaffc",
"body": "…#369)\n\nAdd unit tests for:\n- LoggingPlugin\n- SecurityPlugin\n- InMemoryRunner\n- SequentialAgent\n- partialCopy, getClientLabels, getExpressModeApiKey utils\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: consolidate unit tests for plugins, runner, agents, and utils (…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-26T17:50:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2db989334f85b5fd00039364bd0754ae1691bab",
"body": "…se (#360)\n\nThe /run_sse handler was unconditionally setting\nAccess-Control-Allow-Origin: * after the cors() middleware had already\nset the correct origin from the allowOrigins config. This made the\nconfigured CORS policy ineffective for the SSE endpoint — any\ncross-origin page could read the full a\n[…]\nllowOrigins was set to.\n\nRemoving the explicit setHeader call lets the cors() middleware\nheader stand, consistent with how /run already behaves.\n\nCo-authored-by: g0w6y <g0w6y@users.noreply.github.com>",
"is_bot": false,
"headline": "fix: remove hardcoded Access-Control-Allow-Origin wildcard from run_s…",
"author_name": "ⳕⲛτⲉⲅⲥⲉⳏτⲟⲅ 🕵🏻",
"author_login": "g0w6y",
"committed_at": "2026-05-26T17:28:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1138e3cf8f9436801c82cf74e0cf928dae97ff3c",
"body": "* feat: port AgentEngineSandboxCodeExecutor from adk-python\n\n* chore: clean up stale comments in AgentEngineSandboxCodeExecutor\n\n* feat: update AgentEngineSandboxCodeExecutor to match backend expectations found in tests\n\n* feat: decode filename in sandbox output parsing\n\n* feat: apply audit fixes ba\n[…]\nx: Format instructions_test.ts imports\n\n* Delete agent_engine_sandbox_real_manual_test.ts\n\n* removed console log from integration test\n\n---------\n\nCo-authored-by: Amaad Martin <amaadmartin@google.com>",
"is_bot": false,
"headline": "Feat: Agent Engine Sandbox Code Executor (#317)",
"author_name": "Amaad Martin",
"author_login": "AmaadMartin",
"committed_at": "2026-05-18T22:18:06Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "fc1ff1f5183d1baa6a50dd019140d1b7a22a215c",
"body": "…tCallback (#339)\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "docs: add @param TSDoc to BeforeA2ARequestCallback and AfterA2AReques…",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-11T22:14:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "817f5c1d9c0709b88ee9bec8b385a9c1ac6fc917",
"body": "* test: add unit tests for injectSessionState in instructions\n\n---------\n\nCo-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for injectSessionState in instructions (#338)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-11T22:11:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a500b2ce54119f0ed6b74432eb5b019d0b33f02",
"body": "Co-authored-by: Alexey Kalenkevich <kalenkevich@google.com>",
"is_bot": false,
"headline": "test: add unit tests for runWithRouting in failover_utils (#336)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-11T21:53:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c6019d7fd92efc4ea07a62fdd8be57f3810d3d6",
"body": null,
"is_bot": false,
"headline": "test: add unit tests for file_extension_utils (#337)",
"author_name": "nuthalapativarun",
"author_login": "nuthalapativarun",
"committed_at": "2026-05-11T21:33:12Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 38,
"commits_last_year": 420,
"latest_release_at": "2026-07-20T21:51:33Z",
"latest_release_tag": "integrations-v1.4.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 48,
"days_since_latest_release": 6,
"mean_days_between_releases": 9.2
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 87,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "adk",
"exists": true,
"license": "MIT",
"keywords": [],
"ecosystem": "npm",
"matches_repo": null,
"registry_url": "https://www.npmjs.com/package/adk",
"is_deprecated": true,
"latest_version": "0.0.7",
"repository_url": null,
"versions_count": 7,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"maintainers_count": 1,
"monthly_downloads": 152,
"first_published_at": "2015-11-17T15:32:55.664000Z",
"latest_published_at": "2025-11-28T18:52:42.133000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 241
},
{
"name": "@google/adk-devtools",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@google/adk-devtools",
"is_deprecated": false,
"latest_version": "1.4.0",
"repository_url": "https://github.com/google/adk-js",
"versions_count": 20,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 3,
"monthly_downloads": 34967,
"first_published_at": "2025-10-09T23:27:31.695000Z",
"latest_published_at": "2026-07-21T01:21:05.789000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
},
{
"name": "@google/adk",
"exists": true,
"license": "Apache-2.0",
"keywords": [],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/@google/adk",
"is_deprecated": false,
"latest_version": "1.4.0",
"repository_url": "https://github.com/google/adk-js",
"versions_count": 20,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 3,
"monthly_downloads": 613952,
"first_published_at": "2025-10-09T23:09:25.419000Z",
"latest_published_at": "2026-07-21T01:19:53.082000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
}
]
},
"popularity": {
"forks": 179,
"stars": 1324,
"watchers": 13,
"fork_history": {
"days": [
{
"date": "2025-10-10",
"count": 1
},
{
"date": "2025-10-13",
"count": 2
},
{
"date": "2025-10-14",
"count": 1
},
{
"date": "2025-10-28",
"count": 1
},
{
"date": "2025-10-31",
"count": 1
},
{
"date": "2025-11-01",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-11",
"count": 2
},
{
"date": "2025-11-12",
"count": 1
},
{
"date": "2025-11-14",
"count": 1
},
{
"date": "2025-11-22",
"count": 1
},
{
"date": "2025-11-29",
"count": 1
},
{
"date": "2025-11-30",
"count": 1
},
{
"date": "2025-12-04",
"count": 1
},
{
"date": "2025-12-05",
"count": 1
},
{
"date": "2025-12-07",
"count": 1
},
{
"date": "2025-12-15",
"count": 1
},
{
"date": "2025-12-16",
"count": 1
},
{
"date": "2025-12-17",
"count": 3
},
{
"date": "2025-12-18",
"count": 3
},
{
"date": "2025-12-19",
"count": 3
},
{
"date": "2025-12-20",
"count": 7
},
{
"date": "2025-12-21",
"count": 3
},
{
"date": "2025-12-22",
"count": 3
},
{
"date": "2025-12-23",
"count": 4
},
{
"date": "2025-12-25",
"count": 2
},
{
"date": "2025-12-26",
"count": 3
},
{
"date": "2025-12-27",
"count": 2
},
{
"date": "2025-12-28",
"count": 1
},
{
"date": "2025-12-29",
"count": 1
},
{
"date": "2025-12-31",
"count": 1
},
{
"date": "2026-01-02",
"count": 1
},
{
"date": "2026-01-03",
"count": 1
},
{
"date": "2026-01-05",
"count": 1
},
{
"date": "2026-01-07",
"count": 1
},
{
"date": "2026-01-11",
"count": 1
},
{
"date": "2026-01-13",
"count": 2
},
{
"date": "2026-01-17",
"count": 1
},
{
"date": "2026-01-19",
"count": 5
},
{
"date": "2026-01-24",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-01-27",
"count": 1
},
{
"date": "2026-01-29",
"count": 2
},
{
"date": "2026-02-02",
"count": 1
},
{
"date": "2026-02-03",
"count": 1
},
{
"date": "2026-02-07",
"count": 2
},
{
"date": "2026-02-10",
"count": 1
},
{
"date": "2026-02-11",
"count": 1
},
{
"date": "2026-02-13",
"count": 1
},
{
"date": "2026-02-14",
"count": 1
},
{
"date": "2026-02-15",
"count": 2
},
{
"date": "2026-02-20",
"count": 1
},
{
"date": "2026-02-21",
"count": 1
},
{
"date": "2026-02-27",
"count": 2
},
{
"date": "2026-03-01",
"count": 2
},
{
"date": "2026-03-02",
"count": 1
},
{
"date": "2026-03-09",
"count": 2
},
{
"date": "2026-03-12",
"count": 2
},
{
"date": "2026-03-15",
"count": 1
},
{
"date": "2026-03-17",
"count": 1
},
{
"date": "2026-03-22",
"count": 1
},
{
"date": "2026-03-24",
"count": 1
},
{
"date": "2026-03-26",
"count": 1
},
{
"date": "2026-04-08",
"count": 1
},
{
"date": "2026-04-09",
"count": 1
},
{
"date": "2026-04-10",
"count": 1
},
{
"date": "2026-04-14",
"count": 2
},
{
"date": "2026-04-15",
"count": 2
},
{
"date": "2026-04-16",
"count": 2
},
{
"date": "2026-04-17",
"count": 1
},
{
"date": "2026-04-21",
"count": 2
},
{
"date": "2026-04-23",
"count": 1
},
{
"date": "2026-04-24",
"count": 1
},
{
"date": "2026-04-25",
"count": 2
},
{
"date": "2026-04-27",
"count": 2
},
{
"date": "2026-04-29",
"count": 2
},
{
"date": "2026-04-30",
"count": 2
},
{
"date": "2026-05-01",
"count": 2
},
{
"date": "2026-05-03",
"count": 1
},
{
"date": "2026-05-05",
"count": 1
},
{
"date": "2026-05-07",
"count": 4
},
{
"date": "2026-05-17",
"count": 3
},
{
"date": "2026-05-22",
"count": 1
},
{
"date": "2026-05-26",
"count": 1
},
{
"date": "2026-05-27",
"count": 2
},
{
"date": "2026-05-30",
"count": 2
},
{
"date": "2026-05-31",
"count": 2
},
{
"date": "2026-06-02",
"count": 1
},
{
"date": "2026-06-03",
"count": 1
},
{
"date": "2026-06-04",
"count": 2
},
{
"date": "2026-06-05",
"count": 1
},
{
"date": "2026-06-06",
"count": 1
},
{
"date": "2026-06-08",
"count": 2
},
{
"date": "2026-06-09",
"count": 1
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-14",
"count": 3
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-06-19",
"count": 1
},
{
"date": "2026-06-22",
"count": 1
},
{
"date": "2026-06-25",
"count": 1
},
{
"date": "2026-06-28",
"count": 1
},
{
"date": "2026-06-29",
"count": 2
},
{
"date": "2026-07-01",
"count": 2
},
{
"date": "2026-07-03",
"count": 1
},
{
"date": "2026-07-05",
"count": 1
},
{
"date": "2026-07-12",
"count": 2
},
{
"date": "2026-07-14",
"count": 2
},
{
"date": "2026-07-15",
"count": 1
},
{
"date": "2026-07-17",
"count": 1
},
{
"date": "2026-07-18",
"count": 1
},
{
"date": "2026-07-21",
"count": 1
},
{
"date": "2026-07-24",
"count": 1
},
{
"date": "2026-07-25",
"count": 1
},
{
"date": "2026-07-27",
"count": 1
}
],
"complete": true,
"collected": 177,
"total_forks": 179
},
"star_history": null,
"open_issues_and_prs": 41
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples",
"samples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": true,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"core/tsconfig.json",
"dev/tsconfig.json",
"integrations/tsconfig.json",
"tests/integration/build_setup/ts_commonjs/tsconfig.json",
"tests/integration/build_setup/ts_commonjs_native_addon/tsconfig.json",
"tests/integration/build_setup/ts_esm/tsconfig.json",
"tests/integration/build_setup/ts_esm_native_addon/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [
"tests/cross_language/a2a/go_ts/go_client/go.mod",
"tests/cross_language/a2a/ts_go/go_backend/go.mod"
],
"largest_source_bytes": 56967,
"source_files_sampled": 536,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"core/package.json",
"dev/package.json",
"integrations/package.json",
"package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.79.3",
"severity": "critical",
"ecosystem": "go",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-hrxh-6v49-42gf",
"GO-2026-6061"
],
"fixed_version": "1.82.1",
"advisory_count": 2,
"oldest_advisory_days": 5
},
{
"name": "shell-quote",
"direct": false,
"version": "1.8.3",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-395f-4hp3-45gv",
"GHSA-w7jw-789q-3m8p"
],
"fixed_version": "1.9.0",
"advisory_count": 2,
"oldest_advisory_days": 48
},
{
"name": "adm-zip",
"direct": true,
"version": "0.5.17",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-xcpc-8h2w-3j85"
],
"fixed_version": "0.6.0",
"advisory_count": 1,
"oldest_advisory_days": 17
},
{
"name": "js-yaml",
"direct": true,
"version": "4.2.0",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52cp-r559-cp3m"
],
"fixed_version": "4.3.0",
"advisory_count": 1,
"oldest_advisory_days": 6
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.15",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 2,
"oldest_advisory_days": 6
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 2,
"oldest_advisory_days": 6
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-3jxr-9vmj-r5cp",
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 2,
"oldest_advisory_days": 6
},
{
"name": "fast-uri",
"direct": false,
"version": "3.1.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-4c8g-83qw-93j6",
"GHSA-v2hh-gcrm-f6hx"
],
"fixed_version": "4.1.1",
"advisory_count": 2,
"oldest_advisory_days": 6
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-v245-v573-v5vm"
],
"fixed_version": "5.0.2",
"advisory_count": 1,
"oldest_advisory_days": 6
},
{
"name": "postcss",
"direct": false,
"version": "8.5.15",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-r28c-9q8g-f849"
],
"fixed_version": "8.5.18",
"advisory_count": 1,
"oldest_advisory_days": 3
},
{
"name": "tar",
"direct": false,
"version": "6.2.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.8,
"advisory_ids": [
"GHSA-23hp-3jrh-7fpw",
"GHSA-34x7-hfp2-rc4v",
"GHSA-83g3-92jg-28cx",
"GHSA-8qq5-rm4j-mr97",
"GHSA-8x88-c5mf-7j5w",
"GHSA-9ppj-qmqm-q256",
"GHSA-gvwx-54wh-qm9j",
"GHSA-qffp-2rhf-9h96",
"GHSA-r292-9mhp-454m",
"GHSA-r6q2-hw4h-h46w"
],
"fixed_version": "7.5.21",
"advisory_count": 12,
"oldest_advisory_days": 191
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-52f5-9888-hmc6",
"GHSA-ph9p-34f9-6g65"
],
"fixed_version": "0.2.6",
"advisory_count": 2,
"oldest_advisory_days": 355
},
{
"name": "uuid",
"direct": false,
"version": "9.0.1",
"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": 95
},
{
"name": "@hono/node-server",
"direct": false,
"version": "1.19.14",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.9,
"advisory_ids": [
"GHSA-frvp-7c67-39w9"
],
"fixed_version": "2.0.5",
"advisory_count": 1,
"oldest_advisory_days": 6
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "2.1.0",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-8988-4f7v-96qf"
],
"fixed_version": "2.8.0",
"advisory_count": 1,
"oldest_advisory_days": 41
},
{
"name": "hono",
"direct": false,
"version": "4.12.25",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-hvrm-45r6-mjfj",
"GHSA-w62v-xxxg-mg59",
"GHSA-xgm2-5f3f-mvvc"
],
"fixed_version": "4.12.27",
"advisory_count": 3,
"oldest_advisory_days": 6
},
{
"name": "protobufjs",
"direct": false,
"version": "7.6.4",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 5.3,
"advisory_ids": [
"GHSA-j3f2-48v5-ccww"
],
"fixed_version": "8.6.6",
"advisory_count": 1,
"oldest_advisory_days": 6
},
{
"name": "esbuild",
"direct": true,
"version": "0.27.7",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 2.5,
"advisory_ids": [
"GHSA-g7r4-m6w7-qqqr"
],
"fixed_version": "0.28.1",
"advisory_count": 1,
"oldest_advisory_days": 44
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.3,
"advisory_ids": [
"GHSA-vpq2-c234-7xj6"
],
"fixed_version": "3.0.1",
"advisory_count": 1,
"oldest_advisory_days": 146
},
{
"name": "body-parser",
"direct": false,
"version": "1.20.5",
"severity": "low",
"ecosystem": "npm",
"cvss_score": 3.7,
"advisory_ids": [
"GHSA-v422-hmwv-36x6"
],
"fixed_version": "2.3.0",
"advisory_count": 1,
"oldest_advisory_days": 6
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.41.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5158"
],
"fixed_version": "1.44.0",
"advisory_count": 1,
"oldest_advisory_days": 3
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.52.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 19
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5942"
],
"fixed_version": "0.56.0",
"advisory_count": 1,
"oldest_advisory_days": 13
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.37.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 13
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"low": 3,
"high": 11,
"unknown": 4,
"critical": 2,
"moderate": 4
},
"advisory_count": 44,
"affected_count": 24,
"assessed_count": 1089,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 59,
"direct_affected_count": 3
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@a2a-js/sdk",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.3.10"
},
{
"name": "@google-cloud/opentelemetry-cloud-monitoring-exporter",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.21.0"
},
{
"name": "@google-cloud/opentelemetry-cloud-trace-exporter",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "@google-cloud/storage",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^7.17.1"
},
{
"name": "@google-cloud/vertexai",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.12.0"
},
{
"name": "@google/genai",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.9.0"
},
{
"name": "@mikro-orm/core",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.10"
},
{
"name": "@mikro-orm/reflection",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "@modelcontextprotocol/sdk",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^1.26.0"
},
{
"name": "@opentelemetry/api",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "1.9.0"
},
{
"name": "@opentelemetry/api-logs",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.205.0"
},
{
"name": "@opentelemetry/exporter-logs-otlp-http",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.205.0"
},
{
"name": "@opentelemetry/exporter-metrics-otlp-http",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.205.0"
},
{
"name": "@opentelemetry/exporter-trace-otlp-http",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.205.0"
},
{
"name": "@opentelemetry/resource-detector-gcp",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.40.0"
},
{
"name": "@opentelemetry/resources",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.0"
},
{
"name": "@opentelemetry/sdk-logs",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.205.0"
},
{
"name": "@opentelemetry/sdk-metrics",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.0"
},
{
"name": "@opentelemetry/sdk-trace-base",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.0"
},
{
"name": "@opentelemetry/sdk-trace-node",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.0"
},
{
"name": "adm-zip",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^0.5.17"
},
{
"name": "express",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.22.1"
},
{
"name": "google-auth-library",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^10.3.0"
},
{
"name": "js-yaml",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.1"
},
{
"name": "jsonpath-plus",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^10.4.0"
},
{
"name": "lodash-es",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.18.1"
},
{
"name": "winston",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.19.0"
},
{
"name": "zod",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.1"
},
{
"name": "zod-to-json-schema",
"manifest": "core/package.json",
"ecosystem": "npm",
"version_constraint": "^3.25.1"
},
{
"name": "@clack/prompts",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^0.11.0"
},
{
"name": "@google/adk",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^1.4.0"
},
{
"name": "@mikro-orm/mariadb",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "@mikro-orm/mssql",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "@mikro-orm/mysql",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "@mikro-orm/postgresql",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "@mikro-orm/sqlite",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.6.6"
},
{
"name": "camelcase-keys",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^6.2.2"
},
{
"name": "commander",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^14.0.0"
},
{
"name": "cors",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^2.8.5"
},
{
"name": "dotenv",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^17.2.3"
},
{
"name": "esbuild",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^0.25.9"
},
{
"name": "esbuild-shim-plugin",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.3"
},
{
"name": "express",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^4.21.2"
},
{
"name": "fast-glob",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^3.3.3"
},
{
"name": "js-yaml",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^4.1.1"
},
{
"name": "ts-graphviz",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^1.0.1"
},
{
"name": "winston",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^3.19.0"
},
{
"name": "zod",
"manifest": "dev/package.json",
"ecosystem": "npm",
"version_constraint": "^4.2.1"
},
{
"name": "@google/adk",
"manifest": "integrations/package.json",
"ecosystem": "npm",
"version_constraint": "^1.4.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@a2a-js/sdk",
"direct": true,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@a2a-js/sdk",
"direct": true,
"version": "^0.3.10",
"ecosystem": "npm"
},
{
"name": "@clack/prompts",
"direct": true,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@clack/prompts",
"direct": true,
"version": "^0.11.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-monitoring-exporter",
"direct": true,
"version": "0.21.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-monitoring-exporter",
"direct": true,
"version": "^0.21.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-trace-exporter",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-cloud-trace-exporter",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/storage",
"direct": true,
"version": "7.21.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/storage",
"direct": true,
"version": "^7.17.1",
"ecosystem": "npm"
},
{
"name": "@google-cloud/vertexai",
"direct": true,
"version": "1.12.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/vertexai",
"direct": true,
"version": "^1.12.0",
"ecosystem": "npm"
},
{
"name": "@google/adk",
"direct": true,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@google/adk",
"direct": true,
"version": "^1.4.0",
"ecosystem": "npm"
},
{
"name": "@google/genai",
"direct": true,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "@google/genai",
"direct": true,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "@google/genai",
"direct": true,
"version": "^2.9.0",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/core",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/core",
"direct": true,
"version": "^6.6.10",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mariadb",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mariadb",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mssql",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mssql",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mysql",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/mysql",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/postgresql",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/postgresql",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/reflection",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/reflection",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/sqlite",
"direct": true,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/sqlite",
"direct": true,
"version": "^6.6.6",
"ecosystem": "npm"
},
{
"name": "@modelcontextprotocol/sdk",
"direct": true,
"version": "1.29.0",
"ecosystem": "npm"
},
{
"name": "@modelcontextprotocol/sdk",
"direct": true,
"version": "^1.26.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api",
"direct": true,
"version": "1.9.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api-logs",
"direct": true,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/api-logs",
"direct": true,
"version": "^0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-logs-otlp-http",
"direct": true,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-logs-otlp-http",
"direct": true,
"version": "^0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-metrics-otlp-http",
"direct": true,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-metrics-otlp-http",
"direct": true,
"version": "^0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-http",
"direct": true,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/exporter-trace-otlp-http",
"direct": true,
"version": "^0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-gcp",
"direct": true,
"version": "0.40.3",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resource-detector-gcp",
"direct": true,
"version": "^0.40.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": true,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": true,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/resources",
"direct": true,
"version": "^2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-logs",
"direct": true,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-logs",
"direct": true,
"version": "^0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-metrics",
"direct": true,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-metrics",
"direct": true,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-metrics",
"direct": true,
"version": "^2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": true,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": true,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-base",
"direct": true,
"version": "^2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-node",
"direct": true,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/sdk-trace-node",
"direct": true,
"version": "^2.1.0",
"ecosystem": "npm"
},
{
"name": "adm-zip",
"direct": true,
"version": "0.5.17",
"ecosystem": "npm"
},
{
"name": "adm-zip",
"direct": true,
"version": "^0.5.17",
"ecosystem": "npm"
},
{
"name": "camelcase-keys",
"direct": true,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "camelcase-keys",
"direct": true,
"version": "^6.2.2",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": true,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": true,
"version": "14.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": true,
"version": "^14.0.0",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": true,
"version": "2.8.6",
"ecosystem": "npm"
},
{
"name": "cors",
"direct": true,
"version": "^2.8.5",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": true,
"version": "17.3.1",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": true,
"version": "17.4.2",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": true,
"version": "^17.2.3",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": true,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": true,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": true,
"version": "^0.25.9",
"ecosystem": "npm"
},
{
"name": "esbuild-shim-plugin",
"direct": true,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "esbuild-shim-plugin",
"direct": true,
"version": "^1.0.3",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "4.22.2",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "^4.21.2",
"ecosystem": "npm"
},
{
"name": "express",
"direct": true,
"version": "^4.22.1",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": true,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": true,
"version": "^3.3.3",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": true,
"version": "10.7.0",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": true,
"version": "9.15.1",
"ecosystem": "npm"
},
{
"name": "google-auth-library",
"direct": true,
"version": "^10.3.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": true,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": true,
"version": "^4.1.1",
"ecosystem": "npm"
},
{
"name": "jsonpath-plus",
"direct": true,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "jsonpath-plus",
"direct": true,
"version": "^10.4.0",
"ecosystem": "npm"
},
{
"name": "lodash-es",
"direct": true,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash-es",
"direct": true,
"version": "^4.18.1",
"ecosystem": "npm"
},
{
"name": "ts-graphviz",
"direct": true,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "ts-graphviz",
"direct": true,
"version": "^1.0.1",
"ecosystem": "npm"
},
{
"name": "winston",
"direct": true,
"version": "3.19.0",
"ecosystem": "npm"
},
{
"name": "winston",
"direct": true,
"version": "^3.19.0",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "^4.2.1",
"ecosystem": "npm"
},
{
"name": "zod-to-json-schema",
"direct": true,
"version": "3.25.2",
"ecosystem": "npm"
},
{
"name": "zod-to-json-schema",
"direct": true,
"version": "^3.25.1",
"ecosystem": "npm"
},
{
"name": "cloud.google.com/go",
"direct": false,
"version": "v0.123.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/auth",
"direct": false,
"version": "v0.17.0",
"ecosystem": "go"
},
{
"name": "cloud.google.com/go/compute/metadata",
"direct": false,
"version": "v0.9.0",
"ecosystem": "go"
},
{
"name": "github.com/a2aproject/a2a-go",
"direct": false,
"version": "v0.3.10",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/httpsnoop",
"direct": false,
"version": "v1.0.4",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/s2a-go",
"direct": false,
"version": "v0.1.9",
"ecosystem": "go"
},
{
"name": "github.com/google/safehtml",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/enterprise-certificate-proxy",
"direct": false,
"version": "v0.3.6",
"ecosystem": "go"
},
{
"name": "github.com/googleapis/gax-go/v2",
"direct": false,
"version": "v2.15.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.3",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp",
"direct": false,
"version": "v0.63.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.41.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/log",
"direct": false,
"version": "v0.16.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.41.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.41.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": false,
"version": "v0.52.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.55.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.20.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.45.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "v0.37.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/adk",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genai",
"direct": false,
"version": "v1.51.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/api",
"direct": false,
"version": "v0.0.0-20260128011058-8636f8732409",
"ecosystem": "go"
},
{
"name": "google.golang.org/genproto/googleapis/rpc",
"direct": false,
"version": "v0.0.0-20260128011058-8636f8732409",
"ecosystem": "go"
},
{
"name": "google.golang.org/grpc",
"direct": false,
"version": "v1.79.3",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "rsc.io/omap",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "rsc.io/ordered",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "@ampproject/remapping",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "@azu/format-text",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@azu/style-format",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@azure-rest/core-client",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "@azure/abort-controller",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "@azure/core-auth",
"direct": false,
"version": "1.10.1",
"ecosystem": "npm"
},
{
"name": "@azure/core-client",
"direct": false,
"version": "1.10.2",
"ecosystem": "npm"
},
{
"name": "@azure/core-lro",
"direct": false,
"version": "2.7.2",
"ecosystem": "npm"
},
{
"name": "@azure/core-paging",
"direct": false,
"version": "1.6.2",
"ecosystem": "npm"
},
{
"name": "@azure/core-rest-pipeline",
"direct": false,
"version": "1.24.0",
"ecosystem": "npm"
},
{
"name": "@azure/core-tracing",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@azure/core-util",
"direct": false,
"version": "1.13.1",
"ecosystem": "npm"
},
{
"name": "@azure/identity",
"direct": false,
"version": "4.13.1",
"ecosystem": "npm"
},
{
"name": "@azure/keyvault-common",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@azure/keyvault-keys",
"direct": false,
"version": "4.10.2",
"ecosystem": "npm"
},
{
"name": "@azure/logger",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@azure/msal-browser",
"direct": false,
"version": "5.14.0",
"ecosystem": "npm"
},
{
"name": "@azure/msal-common",
"direct": false,
"version": "16.9.0",
"ecosystem": "npm"
},
{
"name": "@azure/msal-node",
"direct": false,
"version": "5.2.5",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@clack/core",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "@colors/colors",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "@dabh/diagnostics",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.25.12",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.21.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.4.2",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "@eslint/eslintrc",
"direct": false,
"version": "3.3.5",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "8.57.0",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "2.1.7",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "@gar/promisify",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "@gerrit0/mini-shiki",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/opentelemetry-resource-util",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/paginator",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "@google-cloud/precise-date",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/projectify",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google-cloud/promisify",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@google/adk-devtools",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@google/adk-integrations",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@grpc/grpc-js",
"direct": false,
"version": "1.14.4",
"ecosystem": "npm"
},
{
"name": "@grpc/proto-loader",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "@hono/node-server",
"direct": false,
"version": "1.19.14",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.11.14",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/config-array",
"direct": false,
"version": "0.13.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/object-schema",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "@istanbuljs/schema",
"direct": false,
"version": "0.1.6",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@js-joda/core",
"direct": false,
"version": "5.7.0",
"ecosystem": "npm"
},
{
"name": "@js-sdsl/ordered-map",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "@jsep-plugin/assignment",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "@jsep-plugin/regex",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "@mikro-orm/knex",
"direct": false,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "@nodable/entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.scandir",
"direct": false,
"version": "2.1.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.stat",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@nodelib/fs.walk",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "@npmcli/fs",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@npmcli/move-file",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/context-async-hooks",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/core",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-exporter-base",
"direct": false,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/otlp-transformer",
"direct": false,
"version": "0.205.0",
"ecosystem": "npm"
},
{
"name": "@opentelemetry/semantic-conventions",
"direct": false,
"version": "1.41.1",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/aspromise",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/base64",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/codegen",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@protobufjs/eventemitter",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/fetch",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@protobufjs/float",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/path",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@protobufjs/pool",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@protobufjs/utf8",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "@secretlint/config-creator",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/config-loader",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/core",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/formatter",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/node",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/profiler",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/resolver",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/secretlint-rule-pattern",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/secretlint-rule-preset-recommend",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/source-creator",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/tester",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@secretlint/types",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "3.23.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/merge-streams",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "@so-ric/colorspace",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@textlint/ast-node-types",
"direct": false,
"version": "15.7.1",
"ecosystem": "npm"
},
{
"name": "@textlint/linter-formatter",
"direct": false,
"version": "15.7.1",
"ecosystem": "npm"
},
{
"name": "@textlint/module-interop",
"direct": false,
"version": "15.7.1",
"ecosystem": "npm"
},
{
"name": "@textlint/regexp-string-matcher",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "@textlint/resolver",
"direct": false,
"version": "15.7.1",
"ecosystem": "npm"
},
{
"name": "@textlint/types",
"direct": false,
"version": "15.7.1",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@tootallnate/once",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "@ts-morph/common",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@types/adm-zip",
"direct": false,
"version": "0.5.8",
"ecosystem": "npm"
},
{
"name": "@types/adm-zip",
"direct": false,
"version": "^0.5.8",
"ecosystem": "npm"
},
{
"name": "@types/body-parser",
"direct": false,
"version": "1.19.6",
"ecosystem": "npm"
},
{
"name": "@types/caseless",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/connect",
"direct": false,
"version": "3.4.38",
"ecosystem": "npm"
},
{
"name": "@types/cors",
"direct": false,
"version": "2.8.19",
"ecosystem": "npm"
},
{
"name": "@types/cors",
"direct": false,
"version": "^2.8.19",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "4.17.25",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "^4.17.21",
"ecosystem": "npm"
},
{
"name": "@types/express",
"direct": false,
"version": "^4.17.25",
"ecosystem": "npm"
},
{
"name": "@types/express-serve-static-core",
"direct": false,
"version": "4.19.8",
"ecosystem": "npm"
},
{
"name": "@types/geojson",
"direct": false,
"version": "7946.0.16",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/http-errors",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "@types/js-yaml",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/lodash",
"direct": false,
"version": "4.17.24",
"ecosystem": "npm"
},
{
"name": "@types/lodash-es",
"direct": false,
"version": "4.17.12",
"ecosystem": "npm"
},
{
"name": "@types/lodash-es",
"direct": false,
"version": "^4.17.12",
"ecosystem": "npm"
},
{
"name": "@types/mime",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/minimist",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "20.19.43",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.13.2",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "^20.12.7",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/qs",
"direct": false,
"version": "6.15.1",
"ecosystem": "npm"
},
{
"name": "@types/range-parser",
"direct": false,
"version": "1.2.7",
"ecosystem": "npm"
},
{
"name": "@types/readable-stream",
"direct": false,
"version": "4.0.23",
"ecosystem": "npm"
},
{
"name": "@types/request",
"direct": false,
"version": "2.48.13",
"ecosystem": "npm"
},
{
"name": "@types/retry",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "@types/semver",
"direct": false,
"version": "7.7.1",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "0.17.6",
"ecosystem": "npm"
},
{
"name": "@types/send",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@types/serve-static",
"direct": false,
"version": "1.15.10",
"ecosystem": "npm"
},
{
"name": "@types/tough-cookie",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "@types/triple-beam",
"direct": false,
"version": "1.3.5",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "^7.7.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "^7.7.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "5.62.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "7.18.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "@typespec/ts-http-runtime",
"direct": false,
"version": "0.3.6",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-v8",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "abort-controller",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "accepts",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "agentkeepalive",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "aggregate-error",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "ajv-formats",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "anynum",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "aproba",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "are-we-there-yet",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-flatten",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "array-union",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "arrify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ast-v8-to-istanbul",
"direct": false,
"version": "0.3.12",
"ecosystem": "npm"
},
{
"name": "astral-regex",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "async-retry",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "aws-ssl-profiles",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "basic-auth",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "bignumber.js",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "binaryextensions",
"direct": false,
"version": "6.11.0",
"ecosystem": "npm"
},
{
"name": "bindings",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "bl",
"direct": false,
"version": "6.1.6",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "1.20.5",
"ecosystem": "npm"
},
{
"name": "body-parser",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "boundary",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.15",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "5.7.1",
"ecosystem": "npm"
},
{
"name": "buffer",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "buffer-equal-constant-time",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "builtins",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "bundle-name",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "cacache",
"direct": false,
"version": "15.3.0",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "call-bound",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "camelcase",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "chardet",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "clean-stack",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cli-truncate",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "cli-width",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "code-block-writer",
"direct": false,
"version": "13.0.3",
"ecosystem": "npm"
},
{
"name": "color",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "color-name",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "color-string",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "color-support",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.19",
"ecosystem": "npm"
},
{
"name": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "combined-stream",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "concurrently",
"direct": false,
"version": "9.2.1",
"ecosystem": "npm"
},
{
"name": "console-control-strings",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "0.5.4",
"ecosystem": "npm"
},
{
"name": "content-disposition",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "content-type",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "cookie",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "cookie-signature",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "corser",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "data-uri-to-buffer",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "dataloader",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "2.6.9",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.3.4",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decamelize",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "decamelize-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "deep-extend",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "default-browser",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "default-browser-id",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "define-lazy-prop",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "delegates",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "denque",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "depd",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "destroy",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "dir-glob",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "doctrine",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "duplexify",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ecdsa-sig-formatter",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "editions",
"direct": false,
"version": "6.22.0",
"ecosystem": "npm"
},
{
"name": "ee-first",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "enabled",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encodeurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "encoding",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "environment",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "err-code",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-define-property",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "es-errors",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-html",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "8.57.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "8.57.1",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "9.39.4",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "^8.57.0",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "9.1.2",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "^9.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-es",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-n",
"direct": false,
"version": "15.7.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prettier",
"direct": false,
"version": "5.1.3",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "7.2.2",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-utils",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "esm",
"direct": false,
"version": "3.2.25",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "9.6.1",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "etag",
"direct": false,
"version": "1.8.1",
"ecosystem": "npm"
},
{
"name": "event-target-shim",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "events",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "eventsource",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "eventsource-parser",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "execa",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "expand-template",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "express-rate-limit",
"direct": false,
"version": "8.5.2",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "external-editor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-diff",
"direct": false,
"version": "1.3.0",
"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-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "fast-xml-builder",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "fast-xml-parser",
"direct": false,
"version": "5.9.0",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "fecha",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "fetch-blob",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "figures",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "file-uri-to-path",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "1.3.2",
"ecosystem": "npm"
},
{
"name": "finalhandler",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "fn.name",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "formdata-polyfill",
"direct": false,
"version": "4.0.10",
"ecosystem": "npm"
},
{
"name": "forwarded",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "fresh",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "fs-constants",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.3",
"ecosystem": "npm"
},
{
"name": "fs-minipass",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "function-bind",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "gauge",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "gaxios",
"direct": false,
"version": "6.7.1",
"ecosystem": "npm"
},
{
"name": "gaxios",
"direct": false,
"version": "7.1.5",
"ecosystem": "npm"
},
{
"name": "gcp-metadata",
"direct": false,
"version": "6.1.1",
"ecosystem": "npm"
},
{
"name": "gcp-metadata",
"direct": false,
"version": "8.1.2",
"ecosystem": "npm"
},
{
"name": "generate-function",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-east-asian-width",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "get-intrinsic",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "get-package-type",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "get-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "get-stream",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "getopts",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "github-from-package",
"direct": false,
"version": "0.0.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.3",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "13.24.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "16.5.0",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "11.1.0",
"ecosystem": "npm"
},
{
"name": "globby",
"direct": false,
"version": "14.1.0",
"ecosystem": "npm"
},
{
"name": "google-logging-utils",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "google-logging-utils",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "googleapis",
"direct": false,
"version": "137.1.0",
"ecosystem": "npm"
},
{
"name": "googleapis-common",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "graphemer",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "gtoken",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "gts",
"direct": false,
"version": "5.3.1",
"ecosystem": "npm"
},
{
"name": "hard-rejection",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-symbols",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "has-tostringtag",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "has-unicode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "he",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "hono",
"direct": false,
"version": "4.12.25",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "html-entities",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-errors",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy",
"direct": false,
"version": "1.18.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "http-server",
"direct": false,
"version": "14.1.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "7.0.6",
"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": "husky",
"direct": false,
"version": "9.1.7",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.4.24",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "ieee754",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "indent-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "index-to-position",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "infer-owner",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "inflight",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "inherits",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "inquirer",
"direct": false,
"version": "7.3.3",
"ecosystem": "npm"
},
{
"name": "interpret",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ip-address",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "ipaddr.js",
"direct": false,
"version": "1.9.1",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-docker",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "is-fullwidth-code-point",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-inside-container",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "is-lambda",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-path-inside",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "is-promise",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "is-property",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "is-stream",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "is-unsafe",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-wsl",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-source-maps",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "istextorbinary",
"direct": false,
"version": "9.5.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "jose",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "js-md4",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "jsep",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "json-bigint",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "json-parse-even-better-errors",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "json-schema-traverse",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "json-schema-typed",
"direct": false,
"version": "8.0.2",
"ecosystem": "npm"
},
{
"name": "json-stable-stringify-without-jsonify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": false,
"version": "9.0.3",
"ecosystem": "npm"
},
{
"name": "jwa",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "jws",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "knex",
"direct": false,
"version": "3.2.10",
"ecosystem": "npm"
},
{
"name": "kuler",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "linkify-it",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "lint-staged",
"direct": false,
"version": "16.4.0",
"ecosystem": "npm"
},
{
"name": "listr2",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.camelcase",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.includes",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "lodash.isboolean",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isinteger",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "lodash.isnumber",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "lodash.isplainobject",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "lodash.isstring",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "lodash.once",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "lodash.sortby",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "lodash.truncate",
"direct": false,
"version": "4.4.2",
"ecosystem": "npm"
},
{
"name": "lodash.uniq",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "lodash.uniqwith",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "log-update",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "logform",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "long",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lru.min",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "lunr",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "magicast",
"direct": false,
"version": "0.3.5",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "make-fetch-happen",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "map-obj",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "mariadb",
"direct": false,
"version": "3.4.5",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": false,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "media-typer",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "merge-descriptors",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge-stream",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "methods",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mikro-orm",
"direct": false,
"version": "6.6.14",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.52.0",
"ecosystem": "npm"
},
{
"name": "mime-db",
"direct": false,
"version": "1.54.0",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "2.1.35",
"ecosystem": "npm"
},
{
"name": "mime-types",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "mimic-fn",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "mimic-function",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "min-indent",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minimist-options",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "3.3.6",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "minipass-collect",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "minipass-fetch",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "minipass-flush",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "minipass-pipeline",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "minipass-sized",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "mkdirp-classic",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mute-stream",
"direct": false,
"version": "0.0.8",
"ecosystem": "npm"
},
{
"name": "mysql2",
"direct": false,
"version": "3.20.0",
"ecosystem": "npm"
},
{
"name": "named-placeholders",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.12",
"ecosystem": "npm"
},
{
"name": "napi-build-utils",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "native-duplexpair",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "natural-compare-lite",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "ncp",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "negotiator",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-abi",
"direct": false,
"version": "3.92.0",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "node-domexception",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "3.3.2",
"ecosystem": "npm"
},
{
"name": "node-gyp",
"direct": false,
"version": "8.4.1",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "npm-run-path",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "npmlog",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-inspect",
"direct": false,
"version": "1.13.4",
"ecosystem": "npm"
},
{
"name": "on-finished",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "one-time",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "open",
"direct": false,
"version": "10.2.0",
"ecosystem": "npm"
},
{
"name": "openapi-types",
"direct": false,
"version": "12.1.3",
"ecosystem": "npm"
},
{
"name": "openapi-types",
"direct": false,
"version": "^12.1.3",
"ecosystem": "npm"
},
{
"name": "opener",
"direct": false,
"version": "1.5.2",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "os-tmpdir",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "p-limit",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "p-locate",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "p-map",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "p-retry",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "p-try",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "parseurl",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-expression-matcher",
"direct": false,
"version": "1.5.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": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "8.4.2",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-type",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "pg",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "pg-cloudflare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "pg-connection-string",
"direct": false,
"version": "2.13.0",
"ecosystem": "npm"
},
{
"name": "pg-connection-string",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "pg-int8",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "pg-pool",
"direct": false,
"version": "3.14.0",
"ecosystem": "npm"
},
{
"name": "pg-protocol",
"direct": false,
"version": "1.14.0",
"ecosystem": "npm"
},
{
"name": "pg-types",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "pgpass",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pkce-challenge",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "pluralize",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "pluralize",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "portfinder",
"direct": false,
"version": "1.0.38",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.15",
"ecosystem": "npm"
},
{
"name": "postgres-array",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "postgres-array",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "postgres-bytea",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "postgres-date",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "postgres-date",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "postgres-interval",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "postgres-interval",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "prebuild-install",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.2.5",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.8.4",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "^3.2.5",
"ecosystem": "npm"
},
{
"name": "prettier-linter-helpers",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "prettier-plugin-organize-imports",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "process",
"direct": false,
"version": "0.11.10",
"ecosystem": "npm"
},
{
"name": "promise-inflight",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "promise-retry",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "protobufjs",
"direct": false,
"version": "7.6.4",
"ecosystem": "npm"
},
{
"name": "proxy-addr",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "6.15.2",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "range-parser",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "2.5.3",
"ecosystem": "npm"
},
{
"name": "raw-body",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "rc-config-loader",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "read-pkg",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "read-pkg-up",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "3.6.2",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "rechoir",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "reflect-metadata",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "regexpp",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "requires-port",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "retry-request",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rfdc",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.62.0",
"ecosystem": "npm"
},
{
"name": "router",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "run-applescript",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "run-async",
"direct": false,
"version": "2.4.1",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "6.6.7",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "safe-stable-stringify",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "secretlint",
"direct": false,
"version": "11.7.1",
"ecosystem": "npm"
},
{
"name": "secure-compare",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.4",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "send",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "1.16.3",
"ecosystem": "npm"
},
{
"name": "serve-static",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "set-blocking",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "setprototypeof",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shell-quote",
"direct": false,
"version": "1.8.3",
"ecosystem": "npm"
},
{
"name": "side-channel",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "side-channel-list",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-map",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "side-channel-weakmap",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "simple-concat",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "simple-get",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "sisteransi",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "slash",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "smart-buffer",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "socks",
"direct": false,
"version": "2.8.9",
"ecosystem": "npm"
},
{
"name": "socks-proxy-agent",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "split2",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "sql-escaper",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "sqlite3",
"direct": false,
"version": "5.1.7",
"ecosystem": "npm"
},
{
"name": "sqlstring",
"direct": false,
"version": "2.3.3",
"ecosystem": "npm"
},
{
"name": "sqlstring-sqlite",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "ssri",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "stack-trace",
"direct": false,
"version": "0.0.10",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "statuses",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "3.10.0",
"ecosystem": "npm"
},
{
"name": "stream-events",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "stream-shift",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "string-argv",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "8.2.1",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-final-newline",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "strip-json-comments",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "strip-literal",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "strnum",
"direct": false,
"version": "2.4.0",
"ecosystem": "npm"
},
{
"name": "structured-source",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "stubs",
"direct": false,
"version": "3.0.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": "3.2.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.8.8",
"ecosystem": "npm"
},
{
"name": "table",
"direct": false,
"version": "6.9.0",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "tar-fs",
"direct": false,
"version": "2.1.4",
"ecosystem": "npm"
},
{
"name": "tar-stream",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "tarn",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "tedious",
"direct": false,
"version": "19.2.1",
"ecosystem": "npm"
},
{
"name": "teeny-request",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "terminal-link",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "test-exclude",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "text-hex",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "text-table",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "textextensions",
"direct": false,
"version": "6.11.0",
"ecosystem": "npm"
},
{
"name": "through",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "tildify",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinypool",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tinyspy",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.0.33",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "toidentifier",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "trim-newlines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "triple-beam",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "1.4.3",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-morph",
"direct": false,
"version": "27.0.2",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "1.14.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "^2.6.2",
"ecosystem": "npm"
},
{
"name": "tsqlstring",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "tsutils",
"direct": false,
"version": "3.21.0",
"ecosystem": "npm"
},
{
"name": "tunnel-agent",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.18.1",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.20.2",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.21.3",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.6.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.8.1",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "1.6.18",
"ecosystem": "npm"
},
{
"name": "type-is",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "typedoc",
"direct": false,
"version": "0.28.19",
"ecosystem": "npm"
},
{
"name": "typedoc-theme-fresh",
"direct": false,
"version": "0.2.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^5.9.2",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.61.1",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.2",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "unicorn-magic",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "union",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "unique-filename",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "unique-slug",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unpipe",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "url-join",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "url-template",
"direct": false,
"version": "2.0.8",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "utils-merge",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "11.1.1",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "vary",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "version-range",
"direct": false,
"version": "4.15.0",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "7.3.5",
"ecosystem": "npm"
},
{
"name": "vite-node",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "^3.2.4",
"ecosystem": "npm"
},
{
"name": "web-streams-polyfill",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "wide-align",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "winston-transport",
"direct": false,
"version": "4.9.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "write-file-atomic",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.0",
"ecosystem": "npm"
},
{
"name": "wsl-utils",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xml-naming",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "xtend",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "20.2.9",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 1148,
"direct_count": 97,
"indirect_count": 1051
}
},
"maintainership": {
"issues": {
"open_prs": 29,
"merged_prs": 254,
"open_issues": 12,
"closed_ratio": 0.908,
"closed_issues": 119,
"closed_unmerged_prs": 106
},
"bus_factor": 2,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "kalenkevich",
"commits": 175,
"avatar_url": "https://avatars.githubusercontent.com/u/9913893?v=4"
},
{
"type": "User",
"login": "AmaadMartin",
"commits": 41,
"avatar_url": "https://avatars.githubusercontent.com/u/57241464?v=4"
},
{
"type": "User",
"login": "ScottMansfield",
"commits": 32,
"avatar_url": "https://avatars.githubusercontent.com/u/184105?v=4"
},
{
"type": "User",
"login": "cornellgit",
"commits": 27,
"avatar_url": "https://avatars.githubusercontent.com/u/3640670?v=4"
},
{
"type": "User",
"login": "nuthalapativarun",
"commits": 27,
"avatar_url": "https://avatars.githubusercontent.com/u/16789275?v=4"
},
{
"type": "User",
"login": "copybara-github",
"commits": 18,
"avatar_url": "https://avatars.githubusercontent.com/u/32201506?v=4"
},
{
"type": "User",
"login": "dewitt",
"commits": 9,
"avatar_url": "https://avatars.githubusercontent.com/u/2736?v=4"
},
{
"type": "User",
"login": "KeijiBranshi",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/10525281?v=4"
},
{
"type": "User",
"login": "sahilsaini5",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/275308824?v=4"
},
{
"type": "User",
"login": "serdnam",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/38575851?v=4"
}
],
"contributors_sampled": 54,
"top_contributor_share": 0.444
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"auto-assignment.yml",
"cross-language-integration.yml",
"csat.yml",
"license-check.yml",
"release-please.yml",
"validation.yaml"
],
"has_docs_dir": true,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"package-lock.json"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 4,
"reason": "branch protection is not maximal on development and all release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 10,
"reason": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 10,
"reason": "all changesets reviewed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 3 contributing companies or organizations -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 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": 10,
"reason": "security policy file 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": "39 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "7f39b6c330bcadfedc35c29d67d103e7d0f6bb2b",
"ran_at": "2026-07-27T19:55:55Z",
"aggregate_score": 6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-27T17:22:42Z",
"oldest_open_prs": [
{
"number": 204,
"created_at": "2026-03-17T09:31:32Z",
"last_comment_at": "2026-03-19T06:43:34Z",
"last_comment_author": "cornellgit"
},
{
"number": 281,
"created_at": "2026-04-18T23:58:24Z",
"last_comment_at": "2026-07-02T06:30:45Z",
"last_comment_author": "Varun-S10"
},
{
"number": 310,
"created_at": "2026-04-29T03:02:50Z",
"last_comment_at": "2026-07-02T06:35:32Z",
"last_comment_author": "Varun-S10"
},
{
"number": 334,
"created_at": "2026-05-08T15:41:40Z",
"last_comment_at": "2026-05-08T15:41:51Z",
"last_comment_author": "google-cla"
},
{
"number": 445,
"created_at": "2026-06-19T15:33:00Z",
"last_comment_at": "2026-07-24T10:41:51Z",
"last_comment_author": "tSte"
},
{
"number": 448,
"created_at": "2026-06-23T18:56:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 464,
"created_at": "2026-06-28T05:16:21Z",
"last_comment_at": "2026-07-15T23:22:40Z",
"last_comment_author": "ScottMansfield"
},
{
"number": 497,
"created_at": "2026-07-15T21:46:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 503,
"created_at": "2026-07-21T17:20:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 505,
"created_at": "2026-07-21T17:33:25Z",
"last_comment_at": "2026-07-22T21:26:45Z",
"last_comment_author": "AmaadMartin"
},
{
"number": 506,
"created_at": "2026-07-21T17:33:28Z",
"last_comment_at": "2026-07-23T13:10:46Z",
"last_comment_author": "Varun-S10"
},
{
"number": 508,
"created_at": "2026-07-22T03:23:24Z",
"last_comment_at": "2026-07-23T12:53:49Z",
"last_comment_author": "Varun-S10"
},
{
"number": 510,
"created_at": "2026-07-22T03:23:40Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 511,
"created_at": "2026-07-22T03:24:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 517,
"created_at": "2026-07-22T18:14:53Z",
"last_comment_at": "2026-07-23T12:55:59Z",
"last_comment_author": "Varun-S10"
},
{
"number": 521,
"created_at": "2026-07-22T18:27:56Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 522,
"created_at": "2026-07-22T23:26:00Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 523,
"created_at": "2026-07-23T01:58:24Z",
"last_comment_at": "2026-07-24T11:58:24Z",
"last_comment_author": "tSte"
},
{
"number": 524,
"created_at": "2026-07-23T15:12:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 525,
"created_at": "2026-07-23T15:12:37Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-27T17:22:30Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 23,
"created_at": "2025-12-17T12:52:22Z",
"last_comment_at": "2026-01-16T09:00:44Z",
"last_comment_author": "stanislav-kondriukov"
},
{
"number": 29,
"created_at": "2025-12-19T18:48:39Z",
"last_comment_at": "2026-03-12T19:10:49Z",
"last_comment_author": "davidmonterocrespo24"
},
{
"number": 233,
"created_at": "2026-04-03T16:29:38Z",
"last_comment_at": "2026-06-22T22:12:03Z",
"last_comment_author": "kalenkevich"
},
{
"number": 239,
"created_at": "2026-04-07T20:13:01Z",
"last_comment_at": "2026-05-15T17:49:36Z",
"last_comment_author": "tSte"
},
{
"number": 259,
"created_at": "2026-04-11T12:12:28Z",
"last_comment_at": "2026-04-21T00:44:23Z",
"last_comment_author": "kalenkevich"
},
{
"number": 260,
"created_at": "2026-04-11T19:05:50Z",
"last_comment_at": "2026-04-16T01:25:48Z",
"last_comment_author": "wbyoung"
},
{
"number": 366,
"created_at": "2026-05-23T12:27:33Z",
"last_comment_at": "2026-07-14T23:56:29Z",
"last_comment_author": "kalenkevich"
},
{
"number": 376,
"created_at": "2026-05-25T11:20:40Z",
"last_comment_at": "2026-07-12T12:39:36Z",
"last_comment_author": "BenMaGit"
},
{
"number": 502,
"created_at": "2026-07-20T22:00:00Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 512,
"created_at": "2026-07-22T10:58:50Z",
"last_comment_at": "2026-07-24T05:05:35Z",
"last_comment_author": "Varun-S10"
},
{
"number": 533,
"created_at": "2026-07-25T21:14:26Z",
"last_comment_at": "2026-07-27T09:53:22Z",
"last_comment_author": "Jimflip"
},
{
"number": 534,
"created_at": "2026-07-25T21:14:34Z",
"last_comment_at": "2026-07-27T09:04:56Z",
"last_comment_author": "Varun-S10"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/google/adk-js",
"host": "github.com",
"name": "adk-js",
"owner": "google"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"security": 62,
"vitality": 98,
"community": 86,
"governance": 75,
"engineering": 90
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 98,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 97,
"inputs": {
"commits_last_year": 420,
"human_commit_share": 0.98,
"days_since_last_push": 0,
"active_weeks_last_year": 48
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "48/52 weeks with commits",
"points": 33.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 48
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "420 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 420
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 100,
"inputs": {
"releases_count": 38,
"latest_release_tag": "integrations-v1.4.0",
"releases_from_tags": false,
"days_since_latest_release": 6,
"mean_days_between_releases": 9.2
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "38 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 38
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~9.2 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 9.2
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 0,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 0 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 0
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "excellent",
"name": "Community & Adoption",
"value": 86,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"forks": 179,
"stars": 1324,
"watchers": 13,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,324 stars",
"points": 50.6,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1324
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "179 forks",
"points": 18.8,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 179
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "13 watchers",
"points": 6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 13
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "excellent",
"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": 97,
"inputs": {
"packages": [
"adk",
"@google/adk-devtools",
"@google/adk"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 649071
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "649,071 downloads/month across npm",
"points": 77.5,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 649071,
"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": "good",
"name": "Sustainability & Governance",
"value": 75,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "moderate",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"bus_factor": 2,
"contributors_sampled": 54,
"top_contributor_share": 0.444
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "2 contributor(s) cover half of all commits",
"points": 25.2,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 2
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 44% of commits",
"points": 12.5,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 44
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "54 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 54
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 84,
"inputs": {
"merged_prs": 254,
"open_issues": 12,
"closed_issues": 119,
"issue_closed_ratio": 0.908,
"closed_unmerged_prs": 106
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "91% of issues closed",
"points": 42.4,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 91
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "254/360 decided PRs merged",
"points": 27,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 254,
"decided": 360
}
}
],
"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": 80,
"inputs": {
"followers": 76038,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "google",
"public_repos": 2888,
"account_age_days": 5304
},
"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": "76,038 followers of google",
"points": 25,
"status": "met",
"details": [
{
"code": "owner_followers",
"params": {
"count": 76038,
"login": "google"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "2888 public repos, account ~14 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 2888
}
},
{
"code": "account_age_years",
"params": {
"years": 14
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "good",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"packages": [
"adk",
"@google/adk-devtools",
"@google/adk"
],
"ecosystems": "npm",
"any_deprecated": true,
"min_days_since_publish": 6
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "3 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 3,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 6 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 6
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "20 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 20
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "adk: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 90,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"topics": [
"agent",
"agentic",
"agentic-ai",
"agents",
"agents-sdk",
"ai",
"ai-agents",
"aiagentframework",
"genai",
"genai-chatbot",
"llm",
"llms",
"multi-agent",
"multi-agent-systems",
"multi-agents",
"multi-agents-collaboration"
],
"has_wiki": false,
"homepage": "https://adk.dev",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://adk.dev",
"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": "16 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 16
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 62,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"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": 60,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 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,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "all changesets reviewed",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow 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 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "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": "39 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "moderate",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 1089 resolved dependencies against OSV; 59 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 1089
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 59
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 68,
"inputs": {
"source": "osv",
"advisories": 44,
"affected_packages": 24,
"assessed_packages": 1089,
"unassessed_packages": 59,
"affected_by_severity": "critical 2, high 11, moderate 4, low 3, unknown 4",
"direct_affected_packages": 3
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "3 affected: adm-zip 0.5.17 (high 7.5), js-yaml 4.2.0 (high 7.5), esbuild 0.27.7 (low 2.5)",
"points": 11.2,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 3,
"packages": "adm-zip 0.5.17 (high 7.5), js-yaml 4.2.0 (high 7.5), esbuild 0.27.7 (low 2.5)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 1089,
"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": 11
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 67,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.959,
"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": "94 of 98 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 94,
"sampled": 98
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"package-lock.json"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"core/tsconfig.json",
"dev/tsconfig.json",
"integrations/tsconfig.json",
"tests/integration/build_setup/ts_commonjs/tsconfig.json",
"tests/integration/build_setup/ts_commonjs_native_addon/tsconfig.json",
"tests/integration/build_setup/ts_esm/tsconfig.json",
"tests/integration/build_setup/ts_esm_native_addon/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.01,
"toolchain_manifests": [
"tests/cross_language/a2a/go_ts/go_client/go.mod",
"tests/cross_language/a2a/ts_go/go_backend/go.mod"
],
"dependency_bot_commit_share": 0.02
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "tests/cross_language/a2a/go_ts/go_client/go.mod, tests/cross_language/a2a/ts_go/go_backend/go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "tests/cross_language/a2a/go_ts/go_client/go.mod, tests/cross_language/a2a/ts_go/go_backend/go.mod"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "core/tsconfig.json, dev/tsconfig.json, integrations/tsconfig.json, tests/integration/build_setup/ts_commonjs/tsconfig.json, tests/integration/build_setup/ts_commonjs_native_addon/tsconfig.json, tests/integration/build_setup/ts_esm/tsconfig.json, tests/integration/build_setup/ts_esm_native_addon/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "core/tsconfig.json, dev/tsconfig.json, integrations/tsconfig.json, tests/integration/build_setup/ts_commonjs/tsconfig.json, tests/integration/build_setup/ts_commonjs_native_addon/tsconfig.json, tests/integration/build_setup/ts_esm/tsconfig.json, tests/integration/build_setup/ts_esm_native_addon/tsconfig.json, 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": "1 of the last 100 commits agent-authored or agent-credited",
"points": 2,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 1,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "2 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 2,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 56967,
"source_files_sampled": 536,
"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/536 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 536,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "moderate",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"example_dirs": [
"examples",
"samples"
],
"has_mcp_signal": true,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 20,
"status": "met",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples, samples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples, samples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch npm package '@google/adk-integrations' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-27T19:56:23.585650Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/google/adk-js.svg",
"full_name": "google/adk-js",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}