Public record
Software health reportschema 0.27.0 · metrics 1.13.0 · 2026-07-27 19:56 UTC

google / adk-js

An open-source, code-first Typescript toolkit for building, evaluating, and deploying sophisticated AI agents with flexibility and control.

TypeScriptApache-2.0★ 1,324 stars⑂ 179 forkssince Aug 2025View on GitHub ↗

google/adk-js holds a health index of 83 out of 100, placing it in the Good band. It scores highest on Vitality (98/100) and lowest on Security (62/100). It was last updated today. 2 contributors account for most of its recent work.

83
overall / 100
Good

Software health index

Metrics are grouped into weighted categories on one standardized 1–100 scale. Overall starts as their weighted mean; when public evidence triggers the High-Risk Jurisdiction Policy, the rating is adjusted and receives an At risk ceiling of 49. AI Readiness sits outside the overall score.

83
Excellent85-100Exemplary; meets essentially all checked criteria
Good70-84Healthy; minor gaps
Moderate50-69Acceptable with notable gaps; review recommended
At risk30-49Significant weaknesses; adoption warrants caution
Critical1-29Severe problems (abandoned, single-maintainer, no hygiene)
VitalityCommunity &AdoptionSustainability &GovernanceEngineeringQualitySecurityAI Readiness

Score profile

Each axis is a category. The shape matters more than the average — a healthy subject fills the whole shape, while a spike-and-crater profile means strength in one dimension is masking risk in another.

Ownership

GoogleOrganization
76,038 followers2,888 public repossince Jan 2012

This repository is backed by an organization — shared, accountable stewardship that can outlive any single maintainer.

Package ecosystems

RegistryPackageVersionDownloads / moVersionsLast publish
npmadk⚠ Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.0.0.71527241 days ago
npm@google/adk-devtools1.4.034,967206 days ago
npm@google/adk1.4.0613,952206 days ago

Metrics by category

Vitality

Is the project alive — is code being written and are releases shipping?

98Excellent · 22% of overall
How it's scored
36/36Push recency — last push 0 days ago
33.2/36Commit cadence — 48/52 weeks with commits
18/18Commit volume — 420 commits in the last year
10/10OpenSSF Scorecard: Maintained — 30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
Inputs used
commits_last_year420
human_commit_share0.98
days_since_last_push0
active_weeks_last_year48

Release discipline

100Excellent
How it's scored
27/27Ships releases — 38 releases published
36/36Release recency — latest release 6 days ago
27/27Release cadence — a release every ~9.2 days
0/10OpenSSF Scorecard: Signed-Releases — no data
Inputs used
releases_count38
latest_release_tagintegrations-v1.4.0
releases_from_tagsno
days_since_latest_release6
mean_days_between_releases9.2
Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.

Community & Adoption

Does the project have users, downloads, attention, and a welcoming setup for contributors?

86Excellent · 18% of overall
How it's scored
50.6/60Stars — 1,324 stars
18.8/25Forks — 179 forks
6/15Watchers — 13 watchers
Inputs used
forks179
stars1,324
watchers13
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history

Community health

92Excellent
How it's scored
22.5/22.5README
22.5/22.5License — recognized license (Apache-2.0)
18/18CONTRIBUTING guide
13.5/13.5Code of conduct
0/7.2Issue template
6.3/6.3PR template
Inputs used
has_readmeyes
has_licenseyes
has_contributingyes
has_issue_templateno
has_code_of_conductyes
has_pull_request_templateyes
How it's scored
77.5/80Monthly downloads — 649,071 downloads/month across npm
0/20Registry dependents — not reported by this ecosystem
Inputs used
packagesadk, @google/adk-devtools, @google/adk
dependents
ecosystemsnpm
total_downloads
monthly_downloads649,071
Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.

Sustainability & Governance

Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?

75Good · 24% of overall
How it's scored
25.2/54Bus factor — 2 contributor(s) cover half of all commits
12.5/22.5Commit distribution — top contributor authored 44% of commits
13.5/13.5Contributor breadth — 54 contributors
10/10OpenSSF Scorecard: Contributors — project has 3 contributing companies or organizations -- score normalized to 10
Inputs used
bus_factor2
contributors_sampled54
top_contributor_share0.444
How it's scored
42.4/46.8Issue resolution — 91% of issues closed
27/38.3PR acceptance — 254/360 decided PRs merged
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Inputs used
merged_prs254
open_issues12
closed_issues119
issue_closed_ratio0.908
closed_unmerged_prs106
How it's scored
30/30Ownership backing — organization-owned
0/20Verified domain
25/25Owner reach — 76,038 followers of google
25/25Track record — 2,888 public repos, account ~14 yr old
Inputs used
followers76,038
owner_typeOrganization
is_verified
owner_logingoogle
public_repos2,888
account_age_days5,304
How it's scored
25/25Published & resolvable — 3 package(s) on npm
35/35Publish recency — latest publish 6 days ago
20/20Version history — 20 published versions
0/20Not deprecated — adk: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
Inputs used
packagesadk, @google/adk-devtools, @google/adk
ecosystemsnpm
any_deprecatedyes
min_days_since_publish6

Engineering Quality

Are baseline engineering and documentation practices in place?

90Excellent · 20% of overall
How it's scored
24/24CI workflows — 6 workflow(s)
24/24Tests present
16/16Linter config — eslint.config.js
0/9.6Pre-commit hooks
6.4/6.4.editorconfig
20/20OpenSSF Scorecard: CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Inputs used
has_ciyes
has_testsyes
has_editorconfigyes
has_linter_configyes
has_precommit_configno

Documentation

90Excellent
How it's scored
30/30README
25/25Documentation directory
15/15Documentation / homepage site — https://adk.dev
10/10Repository description
10/10Topics — 16 topics
0/10Wiki
Inputs used
topicsagent, 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_wikino
homepagehttps://adk.dev
has_readmeyes
has_docs_diryes
has_descriptionyes

Security

Are visible security and supply-chain practices strong, without unresolved high-risk jurisdiction exposure?

62Moderate · 16% of overall
How it's scored
7.5/7.5Binary-Artifacts — no binaries found in the repo
3/7.5Branch-Protection — branch protection is not maximal on development and all release branches
2.5/2.5CI-Tests — 30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 3 contributing companies or organizations -- score normalized to 10
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5License — license file detected
7.5/7.5Maintained — 30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — no data
0/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
0/7.5Signed-Releases — no data
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 39 existing vulnerabilities detected
Inputs used
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6
Excluded from scoring (no data or not applicable): packaging, signed_releases. Remaining weights renormalized.
How it's scored
11.2/35Direct dependencies free of known advisories — 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)
0/25Indirect dependencies free of known advisories — transitive set not separable from development and test dependencies in this scope
40/40No advisories left outstanding — no advisory has been public longer than 90 days
Inputs used
sourceosv
advisories44
affected_packages24
assessed_packages1,089
unassessed_packages59
affected_by_severitycritical 2, high 11, moderate 4, low 3, unknown 4
direct_affected_packages3
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.

AI Readiness

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.

67Moderate · 0% of overall
How it's scored
0/45Agent instructions — no CLAUDE.md / AGENTS.md / editor rules
0/15Machine-readable docs (llms.txt)
40/40Legible commit history — 94 of 98 human commits state their intent (structured subject or explanatory body)
Inputs used
has_llms_txtno
legible_history_share0.959
agent_instruction_files
agent_instruction_max_bytes
How it's scored
12.6/18One-command bootstrap — 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)
22/22Automated tests
11/11Lint / format config — eslint.config.js
11/11Static type checking — 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
10/10Reproducible environment — lockfile
2/10Demonstrated agent practice — 1 of the last 100 commits agent-authored or agent-credited
8/8Automated maintenance — 2 of the last 100 commits are automated dependency updates
0/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 0
Inputs used
has_nixno
has_testsyes
lockfilespackage-lock.json
has_dockerfileno
typed_languageyes
bootstrap_files
has_devcontainerno
has_linter_configyes
typecheck_configscore/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_share0.01
toolchain_manifeststests/cross_language/a2a/go_ts/go_client/go.mod, tests/cross_language/a2a/ts_go/go_backend/go.mod
dependency_bot_commit_share0.02
How it's scored
45/45Type-checkable code — TypeScript (statically typed)
55/55Manageable file sizes — 0/536 source files over 60KB
Inputs used
primary_languageTypeScript
largest_source_bytes56,967
source_files_sampled536
oversized_source_files0
How it's scored
0/40API schema (OpenAPI/GraphQL/proto)
20/20MCP server
40/40Runnable examples — examples, samples
Inputs used
example_dirsexamples, samples
has_mcp_signalyes
api_schema_files

Key facts

1,324GitHub stars
54contributors
420commits, last 12 months
0days since last push
38releases
2bus factor
12open issues
npmpackage ecosystems

Data collection 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

More detail

Star and fork history 0 ★ / 179 ⇿
0Stars
179Forks
38Releases

When each star and fork was added, collected from GitHub and bucketed by day. Cumulative growth sits directly above the daily additions it is made of, so the two read against each other: steady organic accretion looks nothing like an abrupt, short-lived burst. Where that difference is measurable, it is reported as growth authenticity.

0408012016020017772025-102026-032026-07
Major 0Minor 1Patch 5
OpenSSF Scorecard 6.0 / 10
6.0aggregate

Independent, tool-agnostic security assessment from the open-source OpenSSF Scorecard. Each check rewards a security practice, not a specific vendor's tool. Checks Scorecard could not determine are marked n/a and excluded from the security score (never counted as zero).Scorecard v5.5.0 · 2026-07-27 19:55 UTC

10Binary-Artifactsno binaries found in the repo
4Branch-Protectionbranch protection is not maximal on development and all release branches
10CI-Tests30 out of 30 merged PRs checked by a CI test -- score normalized to 10
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 3 contributing companies or organizations -- score normalized to 10
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained30 commit(s) and 8 issue activity found in the last 90 days -- score normalized to 10
n/aPackagingpackaging workflow not detected
0Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 0
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
n/aSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities39 existing vulnerabilities detected
Direct dependencies 49
RegistryPackageVersion constraintManifest
npm@a2a-js/sdk^0.3.10core/package.json
npm@google-cloud/opentelemetry-cloud-monitoring-exporter^0.21.0core/package.json
npm@google-cloud/opentelemetry-cloud-trace-exporter^3.0.0core/package.json
npm@google-cloud/storage^7.17.1core/package.json
npm@google-cloud/vertexai^1.12.0core/package.json
npm@google/genai^2.9.0core/package.json
npm@mikro-orm/core^6.6.10core/package.json
npm@mikro-orm/reflection^6.6.6core/package.json
npm@modelcontextprotocol/sdk^1.26.0core/package.json
npm@opentelemetry/api1.9.0core/package.json
npm@opentelemetry/api-logs^0.205.0core/package.json
npm@opentelemetry/exporter-logs-otlp-http^0.205.0core/package.json
npm@opentelemetry/exporter-metrics-otlp-http^0.205.0core/package.json
npm@opentelemetry/exporter-trace-otlp-http^0.205.0core/package.json
npm@opentelemetry/resource-detector-gcp^0.40.0core/package.json
npm@opentelemetry/resources^2.1.0core/package.json
npm@opentelemetry/sdk-logs^0.205.0core/package.json
npm@opentelemetry/sdk-metrics^2.1.0core/package.json
npm@opentelemetry/sdk-trace-base^2.1.0core/package.json
npm@opentelemetry/sdk-trace-node^2.1.0core/package.json
npmadm-zip^0.5.17core/package.json
npmexpress^4.22.1core/package.json
npmgoogle-auth-library^10.3.0core/package.json
npmjs-yaml^4.1.1core/package.json
npmjsonpath-plus^10.4.0core/package.json
npmlodash-es^4.18.1core/package.json
npmwinston^3.19.0core/package.json
npmzod^4.2.1core/package.json
npmzod-to-json-schema^3.25.1core/package.json
npm@clack/prompts^0.11.0dev/package.json
npm@google/adk^1.4.0dev/package.json
npm@mikro-orm/mariadb^6.6.6dev/package.json
npm@mikro-orm/mssql^6.6.6dev/package.json
npm@mikro-orm/mysql^6.6.6dev/package.json
npm@mikro-orm/postgresql^6.6.6dev/package.json
npm@mikro-orm/sqlite^6.6.6dev/package.json
npmcamelcase-keys^6.2.2dev/package.json
npmcommander^14.0.0dev/package.json
npmcors^2.8.5dev/package.json
npmdotenv^17.2.3dev/package.json
npmesbuild^0.25.9dev/package.json
npmesbuild-shim-plugin^1.0.3dev/package.json
npmexpress^4.21.2dev/package.json
npmfast-glob^3.3.3dev/package.json
npmjs-yaml^4.1.1dev/package.json
npmts-graphviz^1.0.1dev/package.json
npmwinston^3.19.0dev/package.json
npmzod^4.2.1dev/package.json
npm@google/adk^1.4.0integrations/package.json
All dependencies 1,148

Full resolved dependency set from the GitHub dependency graph: 97 direct and 1,051 indirect (transitive) packages. The transitive closure is complete when the repository commits a lockfile.

RegistryPackageVersionRelation
npm@a2a-js/sdk0.3.13direct
npm@a2a-js/sdk^0.3.10direct
npm@clack/prompts0.11.0direct
npm@clack/prompts^0.11.0direct
npm@google-cloud/opentelemetry-cloud-monitoring-exporter0.21.0direct
npm@google-cloud/opentelemetry-cloud-monitoring-exporter^0.21.0direct
npm@google-cloud/opentelemetry-cloud-trace-exporter3.0.0direct
npm@google-cloud/opentelemetry-cloud-trace-exporter^3.0.0direct
npm@google-cloud/storage7.21.0direct
npm@google-cloud/storage^7.17.1direct
npm@google-cloud/vertexai1.12.0direct
npm@google-cloud/vertexai^1.12.0direct
npm@google/adk1.4.0direct
npm@google/adk^1.4.0direct
npm@google/genai1.52.0direct
npm@google/genai2.9.0direct
npm@google/genai^2.9.0direct
npm@mikro-orm/core6.6.14direct
npm@mikro-orm/core^6.6.10direct
npm@mikro-orm/mariadb6.6.14direct
npm@mikro-orm/mariadb^6.6.6direct
npm@mikro-orm/mssql6.6.14direct
npm@mikro-orm/mssql^6.6.6direct
npm@mikro-orm/mysql6.6.14direct
npm@mikro-orm/mysql^6.6.6direct
npm@mikro-orm/postgresql6.6.14direct
npm@mikro-orm/postgresql^6.6.6direct
npm@mikro-orm/reflection6.6.14direct
npm@mikro-orm/reflection^6.6.6direct
npm@mikro-orm/sqlite6.6.14direct
npm@mikro-orm/sqlite^6.6.6direct
npm@modelcontextprotocol/sdk1.29.0direct
npm@modelcontextprotocol/sdk^1.26.0direct
npm@opentelemetry/api1.9.0direct
npm@opentelemetry/api-logs0.205.0direct
npm@opentelemetry/api-logs^0.205.0direct
npm@opentelemetry/exporter-logs-otlp-http0.205.0direct
npm@opentelemetry/exporter-logs-otlp-http^0.205.0direct
npm@opentelemetry/exporter-metrics-otlp-http0.205.0direct
npm@opentelemetry/exporter-metrics-otlp-http^0.205.0direct
npm@opentelemetry/exporter-trace-otlp-http0.205.0direct
npm@opentelemetry/exporter-trace-otlp-http^0.205.0direct
npm@opentelemetry/resource-detector-gcp0.40.3direct
npm@opentelemetry/resource-detector-gcp^0.40.0direct
npm@opentelemetry/resources2.1.0direct
npm@opentelemetry/resources2.8.0direct
npm@opentelemetry/resources^2.1.0direct
npm@opentelemetry/sdk-logs0.205.0direct
npm@opentelemetry/sdk-logs^0.205.0direct
npm@opentelemetry/sdk-metrics2.1.0direct
npm@opentelemetry/sdk-metrics2.8.0direct
npm@opentelemetry/sdk-metrics^2.1.0direct
npm@opentelemetry/sdk-trace-base2.1.0direct
npm@opentelemetry/sdk-trace-base2.8.0direct
npm@opentelemetry/sdk-trace-base^2.1.0direct
npm@opentelemetry/sdk-trace-node2.8.0direct
npm@opentelemetry/sdk-trace-node^2.1.0direct
npmadm-zip0.5.17direct
npmadm-zip^0.5.17direct
npmcamelcase-keys6.2.2direct
npmcamelcase-keys^6.2.2direct
npmcommander10.0.1direct
npmcommander14.0.3direct
npmcommander^14.0.0direct
npmcors2.8.6direct
npmcors^2.8.5direct
npmdotenv17.3.1direct
npmdotenv17.4.2direct
npmdotenv^17.2.3direct
npmesbuild0.25.12direct
npmesbuild0.27.7direct
npmesbuild^0.25.9direct
npmesbuild-shim-plugin1.0.3direct
npmesbuild-shim-plugin^1.0.3direct
npmexpress4.22.2direct
npmexpress5.2.1direct
npmexpress^4.21.2direct
npmexpress^4.22.1direct
npmfast-glob3.3.3direct
npmfast-glob^3.3.3direct
npmgoogle-auth-library10.7.0direct
npmgoogle-auth-library9.15.1direct
npmgoogle-auth-library^10.3.0direct
npmjs-yaml4.2.0direct
npmjs-yaml^4.1.1direct
npmjsonpath-plus10.4.0direct
npmjsonpath-plus^10.4.0direct
npmlodash-es4.18.1direct
npmlodash-es^4.18.1direct
npmts-graphviz1.8.2direct
npmts-graphviz^1.0.1direct
npmwinston3.19.0direct
npmwinston^3.19.0direct
npmzod4.4.3direct
npmzod^4.2.1direct
npmzod-to-json-schema3.25.2direct
npmzod-to-json-schema^3.25.1direct
Gocloud.google.com/gov0.123.0indirect
Gocloud.google.com/go/authv0.17.0indirect
Gocloud.google.com/go/compute/metadatav0.9.0indirect
Gogithub.com/a2aproject/a2a-gov0.3.10indirect
Gogithub.com/cespare/xxhash/v2v2.3.0indirect
Gogithub.com/felixge/httpsnoopv1.0.4indirect
Gogithub.com/go-logr/logrv1.4.3indirect
Gogithub.com/go-logr/stdrv1.2.2indirect
Gogithub.com/google/go-cmpv0.7.0indirect
Gogithub.com/google/s2a-gov0.1.9indirect
Gogithub.com/google/safehtmlv0.1.0indirect
Gogithub.com/google/uuidv1.6.0indirect
Gogithub.com/googleapis/enterprise-certificate-proxyv0.3.6indirect
Gogithub.com/googleapis/gax-go/v2v2.15.0indirect
Gogithub.com/gorilla/websocketv1.5.3indirect
Gogo.opentelemetry.io/auto/sdkv1.2.1indirect
Gogo.opentelemetry.io/contrib/instrumentation/net/http/otelhttpv0.63.0indirect
Gogo.opentelemetry.io/otelv1.41.0indirect
Gogo.opentelemetry.io/otel/logv0.16.0indirect
Gogo.opentelemetry.io/otel/metricv1.41.0indirect
Gogo.opentelemetry.io/otel/tracev1.41.0indirect
Gogolang.org/x/cryptov0.52.0indirect
Gogolang.org/x/netv0.55.0indirect
Gogolang.org/x/syncv0.20.0indirect
Gogolang.org/x/sysv0.45.0indirect
Gogolang.org/x/textv0.37.0indirect
Gogoogle.golang.org/adkv1.0.0indirect
Gogoogle.golang.org/genaiv1.51.0indirect
Gogoogle.golang.org/genproto/googleapis/apiv0.0.0-20260128011058-8636f8732409indirect
Gogoogle.golang.org/genproto/googleapis/rpcv0.0.0-20260128011058-8636f8732409indirect
Gogoogle.golang.org/grpcv1.79.3indirect
Gogoogle.golang.org/protobufv1.36.11indirect
Gorsc.io/omapv1.2.0indirect
Gorsc.io/orderedv1.1.1indirect
npm@ampproject/remapping2.3.0indirect
npm@azu/format-text1.0.2indirect
npm@azu/style-format1.0.1indirect
npm@azure-rest/core-client2.6.1indirect
npm@azure/abort-controller2.1.2indirect
npm@azure/core-auth1.10.1indirect
npm@azure/core-client1.10.2indirect
npm@azure/core-lro2.7.2indirect
npm@azure/core-paging1.6.2indirect
npm@azure/core-rest-pipeline1.24.0indirect
npm@azure/core-tracing1.3.1indirect
npm@azure/core-util1.13.1indirect
npm@azure/identity4.13.1indirect
npm@azure/keyvault-common2.1.0indirect
npm@azure/keyvault-keys4.10.2indirect
npm@azure/logger1.3.0indirect
npm@azure/msal-browser5.14.0indirect
npm@azure/msal-common16.9.0indirect
npm@azure/msal-node5.2.5indirect
npm@babel/code-frame7.29.7indirect
npm@babel/helper-string-parser7.29.7indirect
npm@babel/helper-validator-identifier7.29.7indirect
npm@babel/parser7.29.7indirect
npm@babel/types7.29.7indirect
npm@bcoe/v8-coverage1.0.2indirect
npm@clack/core0.5.0indirect
npm@colors/colors1.6.0indirect
npm@dabh/diagnostics2.0.8indirect
npm@esbuild/aix-ppc640.25.12indirect
npm@esbuild/aix-ppc640.27.7indirect
npm@esbuild/android-arm0.25.12indirect
npm@esbuild/android-arm0.27.7indirect
npm@esbuild/android-arm640.25.12indirect
npm@esbuild/android-arm640.27.7indirect
npm@esbuild/android-x640.25.12indirect
npm@esbuild/android-x640.27.7indirect
npm@esbuild/darwin-arm640.25.12indirect
npm@esbuild/darwin-arm640.27.7indirect
npm@esbuild/darwin-x640.25.12indirect
npm@esbuild/darwin-x640.27.7indirect
npm@esbuild/freebsd-arm640.25.12indirect
npm@esbuild/freebsd-arm640.27.7indirect
npm@esbuild/freebsd-x640.25.12indirect
npm@esbuild/freebsd-x640.27.7indirect
npm@esbuild/linux-arm0.25.12indirect
npm@esbuild/linux-arm0.27.7indirect
npm@esbuild/linux-arm640.25.12indirect
npm@esbuild/linux-arm640.27.7indirect
npm@esbuild/linux-ia320.25.12indirect
npm@esbuild/linux-ia320.27.7indirect
npm@esbuild/linux-loong640.25.12indirect
npm@esbuild/linux-loong640.27.7indirect
npm@esbuild/linux-mips64el0.25.12indirect
npm@esbuild/linux-mips64el0.27.7indirect
npm@esbuild/linux-ppc640.25.12indirect
npm@esbuild/linux-ppc640.27.7indirect
npm@esbuild/linux-riscv640.25.12indirect
npm@esbuild/linux-riscv640.27.7indirect
npm@esbuild/linux-s390x0.25.12indirect
npm@esbuild/linux-s390x0.27.7indirect
npm@esbuild/linux-x640.25.12indirect
npm@esbuild/linux-x640.27.7indirect
npm@esbuild/netbsd-arm640.25.12indirect
npm@esbuild/netbsd-arm640.27.7indirect
npm@esbuild/netbsd-x640.25.12indirect
npm@esbuild/netbsd-x640.27.7indirect
npm@esbuild/openbsd-arm640.25.12indirect
npm@esbuild/openbsd-arm640.27.7indirect
npm@esbuild/openbsd-x640.25.12indirect
npm@esbuild/openbsd-x640.27.7indirect
npm@esbuild/openharmony-arm640.25.12indirect
npm@esbuild/openharmony-arm640.27.7indirect
npm@esbuild/sunos-x640.25.12indirect
npm@esbuild/sunos-x640.27.7indirect
npm@esbuild/win32-arm640.25.12indirect
npm@esbuild/win32-arm640.27.7indirect
npm@esbuild/win32-ia320.25.12indirect
npm@esbuild/win32-ia320.27.7indirect
npm@esbuild/win32-x640.25.12indirect
npm@esbuild/win32-x640.27.7indirect
npm@eslint-community/eslint-utils4.9.1indirect
npm@eslint-community/regexpp4.12.2indirect
npm@eslint/config-array0.21.2indirect
npm@eslint/config-helpers0.4.2indirect
npm@eslint/core0.17.0indirect
npm@eslint/eslintrc2.1.4indirect
npm@eslint/eslintrc3.3.5indirect
npm@eslint/js8.57.0indirect
npm@eslint/js8.57.1indirect
npm@eslint/js9.39.4indirect
npm@eslint/object-schema2.1.7indirect
npm@eslint/plugin-kit0.4.1indirect
npm@gar/promisify1.1.3indirect
npm@gerrit0/mini-shiki3.23.0indirect
npm@google-cloud/opentelemetry-resource-util3.0.0indirect
npm@google-cloud/paginator5.0.2indirect
npm@google-cloud/precise-date4.0.0indirect
npm@google-cloud/projectify4.0.0indirect
npm@google-cloud/promisify4.0.0indirect
npm@google/adk-devtools1.4.0indirect
npm@google/adk-integrations1.4.0indirect
npm@grpc/grpc-js1.14.4indirect
npm@grpc/proto-loader0.8.1indirect
npm@hono/node-server1.19.14indirect
npm@humanfs/core0.19.2indirect
npm@humanfs/node0.16.8indirect
npm@humanfs/types0.15.0indirect
npm@humanwhocodes/config-array0.11.14indirect
npm@humanwhocodes/config-array0.13.0indirect
npm@humanwhocodes/module-importer1.0.1indirect
npm@humanwhocodes/object-schema2.0.3indirect
npm@humanwhocodes/retry0.4.3indirect
npm@isaacs/cliui8.0.2indirect
npm@istanbuljs/schema0.1.6indirect
npm@jridgewell/gen-mapping0.3.13indirect
npm@jridgewell/resolve-uri3.1.2indirect
npm@jridgewell/sourcemap-codec1.5.5indirect
npm@jridgewell/trace-mapping0.3.31indirect
npm@js-joda/core5.7.0indirect
npm@js-sdsl/ordered-map4.4.2indirect
npm@jsep-plugin/assignment1.3.0indirect
npm@jsep-plugin/regex1.0.4indirect
npm@mikro-orm/knex6.6.14indirect
npm@nodable/entities2.2.0indirect
npm@nodelib/fs.scandir2.1.5indirect
npm@nodelib/fs.stat2.0.5indirect
npm@nodelib/fs.walk1.2.8indirect
npm@npmcli/fs1.1.1indirect
npm@npmcli/move-file1.1.2indirect
npm@opentelemetry/context-async-hooks2.8.0indirect
npm@opentelemetry/core2.1.0indirect
npm@opentelemetry/core2.8.0indirect
npm@opentelemetry/otlp-exporter-base0.205.0indirect
npm@opentelemetry/otlp-transformer0.205.0indirect
npm@opentelemetry/semantic-conventions1.41.1indirect
npm@pkgjs/parseargs0.11.0indirect
npm@pkgr/core0.1.2indirect
npm@protobufjs/aspromise1.1.2indirect
npm@protobufjs/base641.1.2indirect
npm@protobufjs/codegen2.0.5indirect
npm@protobufjs/eventemitter1.1.1indirect
npm@protobufjs/fetch1.1.1indirect
npm@protobufjs/float1.0.2indirect
npm@protobufjs/path1.1.2indirect
npm@protobufjs/pool1.1.0indirect
npm@protobufjs/utf81.1.1indirect
npm@rollup/rollup-android-arm-eabi4.62.0indirect
npm@rollup/rollup-android-arm644.62.0indirect
npm@rollup/rollup-darwin-arm644.62.0indirect
npm@rollup/rollup-darwin-x644.62.0indirect
npm@rollup/rollup-freebsd-arm644.62.0indirect
npm@rollup/rollup-freebsd-x644.62.0indirect
npm@rollup/rollup-linux-arm-gnueabihf4.62.0indirect
npm@rollup/rollup-linux-arm-musleabihf4.62.0indirect
npm@rollup/rollup-linux-arm64-gnu4.62.0indirect
npm@rollup/rollup-linux-arm64-musl4.62.0indirect
npm@rollup/rollup-linux-loong64-gnu4.62.0indirect
npm@rollup/rollup-linux-loong64-musl4.62.0indirect
npm@rollup/rollup-linux-ppc64-gnu4.62.0indirect
npm@rollup/rollup-linux-ppc64-musl4.62.0indirect
npm@rollup/rollup-linux-riscv64-gnu4.62.0indirect
npm@rollup/rollup-linux-riscv64-musl4.62.0indirect
npm@rollup/rollup-linux-s390x-gnu4.62.0indirect
npm@rollup/rollup-linux-x64-gnu4.62.0indirect
npm@rollup/rollup-linux-x64-musl4.62.0indirect
npm@rollup/rollup-openbsd-x644.62.0indirect
npm@rollup/rollup-openharmony-arm644.62.0indirect
npm@rollup/rollup-win32-arm64-msvc4.62.0indirect
npm@rollup/rollup-win32-ia32-msvc4.62.0indirect
npm@rollup/rollup-win32-x64-gnu4.62.0indirect
npm@rollup/rollup-win32-x64-msvc4.62.0indirect
npm@secretlint/config-creator11.7.1indirect
npm@secretlint/config-loader11.7.1indirect
npm@secretlint/core11.7.1indirect
npm@secretlint/formatter11.7.1indirect
npm@secretlint/node11.7.1indirect
npm@secretlint/profiler11.7.1indirect
npm@secretlint/resolver11.7.1indirect
npm@secretlint/secretlint-rule-pattern11.7.1indirect
npm@secretlint/secretlint-rule-preset-recommend11.7.1indirect
npm@secretlint/source-creator11.7.1indirect
npm@secretlint/tester11.7.1indirect
npm@secretlint/types11.7.1indirect
npm@shikijs/engine-oniguruma3.23.0indirect
npm@shikijs/langs3.23.0indirect
npm@shikijs/themes3.23.0indirect
npm@shikijs/types3.23.0indirect
npm@shikijs/vscode-textmate10.0.2indirect
npm@sindresorhus/merge-streams2.3.0indirect
npm@so-ric/colorspace1.1.6indirect
npm@textlint/ast-node-types15.7.1indirect
npm@textlint/linter-formatter15.7.1indirect
npm@textlint/module-interop15.7.1indirect
npm@textlint/regexp-string-matcher2.0.2indirect
npm@textlint/resolver15.7.1indirect
npm@textlint/types15.7.1indirect
npm@tootallnate/once1.1.2indirect
npm@tootallnate/once2.0.1indirect
npm@ts-morph/common0.28.1indirect
npm@types/adm-zip0.5.8indirect
npm@types/adm-zip^0.5.8indirect
npm@types/body-parser1.19.6indirect
npm@types/caseless0.12.5indirect
npm@types/chai5.2.3indirect
npm@types/connect3.4.38indirect
npm@types/cors2.8.19indirect
npm@types/cors^2.8.19indirect
npm@types/deep-eql4.0.2indirect
npm@types/estree1.0.9indirect
npm@types/express4.17.25indirect
npm@types/express^4.17.21indirect
npm@types/express^4.17.25indirect
npm@types/express-serve-static-core4.19.8indirect
npm@types/geojson7946.0.16indirect
npm@types/hast3.0.4indirect
npm@types/http-errors2.0.5indirect
npm@types/js-yaml4.0.9indirect
npm@types/json-schema7.0.15indirect
npm@types/lodash4.17.24indirect
npm@types/lodash-es4.17.12indirect
npm@types/lodash-es^4.17.12indirect
npm@types/mime1.3.5indirect
npm@types/minimist1.2.5indirect
npm@types/node20.19.43indirect
npm@types/node24.13.2indirect
npm@types/node^20.12.7indirect
npm@types/normalize-package-data2.4.4indirect
npm@types/qs6.15.1indirect
npm@types/range-parser1.2.7indirect
npm@types/readable-stream4.0.23indirect
npm@types/request2.48.13indirect
npm@types/retry0.12.0indirect
npm@types/semver7.7.1indirect
npm@types/send0.17.6indirect
npm@types/send1.2.1indirect
npm@types/serve-static1.15.10indirect
npm@types/tough-cookie4.0.5indirect
npm@types/triple-beam1.3.5indirect
npm@types/unist3.0.3indirect
npm@typescript-eslint/eslint-plugin5.62.0indirect
npm@typescript-eslint/eslint-plugin7.18.0indirect
npm@typescript-eslint/eslint-plugin8.61.1indirect
npm@typescript-eslint/eslint-plugin^7.7.1indirect
npm@typescript-eslint/parser5.62.0indirect
npm@typescript-eslint/parser7.18.0indirect
npm@typescript-eslint/parser8.61.1indirect
npm@typescript-eslint/parser^7.7.1indirect
npm@typescript-eslint/project-service8.61.1indirect
npm@typescript-eslint/scope-manager5.62.0indirect
npm@typescript-eslint/scope-manager7.18.0indirect
npm@typescript-eslint/scope-manager8.61.1indirect
npm@typescript-eslint/tsconfig-utils8.61.1indirect
npm@typescript-eslint/type-utils5.62.0indirect
npm@typescript-eslint/type-utils7.18.0indirect
npm@typescript-eslint/type-utils8.61.1indirect
npm@typescript-eslint/types5.62.0indirect
npm@typescript-eslint/types7.18.0indirect
npm@typescript-eslint/types8.61.1indirect
npm@typescript-eslint/typescript-estree5.62.0indirect
npm@typescript-eslint/typescript-estree7.18.0indirect
npm@typescript-eslint/typescript-estree8.61.1indirect
npm@typescript-eslint/utils5.62.0indirect
npm@typescript-eslint/utils7.18.0indirect
npm@typescript-eslint/utils8.61.1indirect
npm@typescript-eslint/visitor-keys5.62.0indirect
npm@typescript-eslint/visitor-keys7.18.0indirect
npm@typescript-eslint/visitor-keys8.61.1indirect
npm@typespec/ts-http-runtime0.3.6indirect
npm@ungap/structured-clone1.3.1indirect
npm@vitest/coverage-v83.2.6indirect
npm@vitest/expect3.2.6indirect
npm@vitest/mocker3.2.6indirect
npm@vitest/pretty-format3.2.6indirect
npm@vitest/runner3.2.6indirect
npm@vitest/snapshot3.2.6indirect
npm@vitest/spy3.2.6indirect
npm@vitest/utils3.2.6indirect
npmabbrev1.1.1indirect
npmabort-controller3.0.0indirect
npmaccepts1.3.8indirect
npmaccepts2.0.0indirect
npmacorn8.17.0indirect
npmacorn-jsx5.3.2indirect
npmagent-base6.0.2indirect
npmagent-base7.1.4indirect
npmagentkeepalive4.6.0indirect
npmaggregate-error3.1.0indirect
npmajv6.15.0indirect
npmajv8.20.0indirect
npmajv-formats3.0.1indirect
npmansi-escapes4.3.2indirect
npmansi-escapes7.3.0indirect
npmansi-regex5.0.1indirect
npmansi-regex6.2.2indirect
npmansi-styles4.3.0indirect
npmansi-styles6.2.3indirect
npmanynum1.0.0indirect
npmaproba2.1.0indirect
npmare-we-there-yet3.0.1indirect
npmargparse2.0.1indirect
npmarray-flatten1.1.1indirect
npmarray-union2.1.0indirect
npmarrify1.0.1indirect
npmarrify2.0.1indirect
npmassertion-error2.0.1indirect
npmast-v8-to-istanbul0.3.12indirect
npmastral-regex2.0.0indirect
npmasync3.2.6indirect
npmasync-retry1.3.3indirect
npmasynckit0.4.0indirect
npmaws-ssl-profiles1.1.2indirect
npmbalanced-match1.0.2indirect
npmbalanced-match4.0.4indirect
npmbase64-js1.5.1indirect
npmbasic-auth2.0.1indirect
npmbignumber.js9.3.1indirect
npmbinaryextensions6.11.0indirect
npmbindings1.5.0indirect
npmbl4.1.0indirect
npmbl6.1.6indirect
npmbody-parser1.20.5indirect
npmbody-parser2.3.0indirect
npmboundary2.0.0indirect
npmbrace-expansion1.1.15indirect
npmbrace-expansion2.1.1indirect
npmbrace-expansion5.0.6indirect
npmbraces3.0.3indirect
npmbuffer5.7.1indirect
npmbuffer6.0.3indirect
npmbuffer-equal-constant-time1.0.1indirect
npmbuiltins5.1.0indirect
npmbundle-name4.1.0indirect
npmbytes3.1.2indirect
npmcac6.7.14indirect
npmcacache15.3.0indirect
npmcall-bind-apply-helpers1.0.2indirect
npmcall-bound1.0.4indirect
npmcallsites3.1.0indirect
npmcamelcase5.3.1indirect
npmchai5.3.3indirect
npmchalk4.1.2indirect
npmchalk5.6.2indirect
npmchardet0.7.0indirect
npmcheck-error2.1.3indirect
npmchownr1.1.4indirect
npmchownr2.0.0indirect
npmclean-stack2.2.0indirect
npmcli-cursor3.1.0indirect
npmcli-cursor5.0.0indirect
npmcli-truncate5.2.0indirect
npmcli-width3.0.0indirect
npmcliui8.0.1indirect
npmcode-block-writer13.0.3indirect
npmcolor5.0.3indirect
npmcolor-convert2.0.1indirect
npmcolor-convert3.1.3indirect
npmcolor-name1.1.4indirect
npmcolor-name2.1.0indirect
npmcolor-string2.1.4indirect
npmcolor-support1.1.3indirect
npmcolorette2.0.19indirect
npmcolorette2.0.20indirect
npmcombined-stream1.0.8indirect
npmconcat-map0.0.1indirect
npmconcurrently9.2.1indirect
npmconsole-control-strings1.1.0indirect
npmcontent-disposition0.5.4indirect
npmcontent-disposition1.1.0indirect
npmcontent-type1.0.5indirect
npmcontent-type2.0.0indirect
npmcookie0.7.2indirect
npmcookie-signature1.0.7indirect
npmcookie-signature1.2.2indirect
npmcorser2.0.1indirect
npmcross-spawn7.0.6indirect
npmdata-uri-to-buffer4.0.1indirect
npmdataloader2.2.3indirect
npmdebug2.6.9indirect
npmdebug4.3.4indirect
npmdebug4.4.3indirect
npmdecamelize1.2.0indirect
npmdecamelize-keys1.1.1indirect
npmdecompress-response6.0.0indirect
npmdeep-eql5.0.2indirect
npmdeep-extend0.6.0indirect
npmdeep-is0.1.4indirect
npmdefault-browser5.5.0indirect
npmdefault-browser-id5.0.1indirect
npmdefine-lazy-prop3.0.0indirect
npmdelayed-stream1.0.0indirect
npmdelegates1.0.0indirect
npmdenque2.1.0indirect
npmdepd2.0.0indirect
npmdestroy1.2.0indirect
npmdetect-libc2.1.2indirect
npmdir-glob3.0.1indirect
npmdoctrine3.0.0indirect
npmdunder-proto1.0.1indirect
npmduplexify4.1.3indirect
npmeastasianwidth0.2.0indirect
npmecdsa-sig-formatter1.0.11indirect
npmeditions6.22.0indirect
npmee-first1.1.1indirect
npmemoji-regex10.6.0indirect
npmemoji-regex8.0.0indirect
npmemoji-regex9.2.2indirect
npmenabled2.0.0indirect
npmencodeurl2.0.0indirect
npmencoding0.1.13indirect
npmend-of-stream1.4.5indirect
npmentities4.5.0indirect
npmenv-paths2.2.1indirect
npmenvironment1.1.0indirect
npmerr-code2.0.3indirect
npmerror-ex1.3.4indirect
npmes-define-property1.0.1indirect
npmes-errors1.3.0indirect
npmes-module-lexer1.7.0indirect
npmes-object-atoms1.1.2indirect
npmes-set-tostringtag2.1.0indirect
npmescalade3.2.0indirect
npmescape-html1.0.3indirect
npmescape-string-regexp1.0.5indirect
npmescape-string-regexp4.0.0indirect
npmeslint8.57.0indirect
npmeslint8.57.1indirect
npmeslint9.39.4indirect
npmeslint^8.57.0indirect
npmeslint-config-prettier9.1.0indirect
npmeslint-config-prettier9.1.2indirect
npmeslint-config-prettier^9.1.0indirect
npmeslint-plugin-es4.1.0indirect
npmeslint-plugin-n15.7.0indirect
npmeslint-plugin-prettier5.1.3indirect
npmeslint-scope5.1.1indirect
npmeslint-scope7.2.2indirect
npmeslint-scope8.4.0indirect
npmeslint-utils2.1.0indirect
npmeslint-utils3.0.0indirect
npmeslint-visitor-keys1.3.0indirect
npmeslint-visitor-keys2.1.0indirect
npmeslint-visitor-keys3.4.3indirect
npmeslint-visitor-keys4.2.1indirect
npmeslint-visitor-keys5.0.1indirect
npmesm3.2.25indirect
npmespree10.4.0indirect
npmespree9.6.1indirect
npmesprima4.0.1indirect
npmesquery1.7.0indirect
npmesrecurse4.3.0indirect
npmestraverse4.3.0indirect
npmestraverse5.3.0indirect
npmestree-walker3.0.3indirect
npmesutils2.0.3indirect
npmetag1.8.1indirect
npmevent-target-shim5.0.1indirect
npmeventemitter34.0.7indirect
npmeventemitter35.0.4indirect
npmevents3.3.0indirect
npmeventsource3.0.7indirect
npmeventsource-parser3.1.0indirect
npmexeca5.1.1indirect
npmexpand-template2.0.3indirect
npmexpect-type1.3.0indirect
npmexpress-rate-limit8.5.2indirect
npmextend3.0.2indirect
npmexternal-editor3.1.0indirect
npmfast-deep-equal3.1.3indirect
npmfast-diff1.3.0indirect
npmfast-json-stable-stringify2.1.0indirect
npmfast-levenshtein2.0.6indirect
npmfast-uri3.1.2indirect
npmfast-xml-builder1.2.0indirect
npmfast-xml-parser5.9.0indirect
npmfastq1.20.1indirect
npmfdir6.5.0indirect
npmfecha4.2.3indirect
npmfetch-blob3.2.0indirect
npmfigures3.2.0indirect
npmfile-entry-cache6.0.1indirect
npmfile-entry-cache8.0.0indirect
npmfile-uri-to-path1.0.0indirect
npmfill-range7.1.1indirect
npmfinalhandler1.3.2indirect
npmfinalhandler2.1.1indirect
npmfind-up4.1.0indirect
npmfind-up5.0.0indirect
npmflat-cache3.2.0indirect
npmflat-cache4.0.1indirect
npmflatted3.4.2indirect
npmfn.name1.1.0indirect
npmfollow-redirects1.16.0indirect
npmforeground-child3.3.1indirect
npmform-data2.5.6indirect
npmformdata-polyfill4.0.10indirect
npmforwarded0.2.0indirect
npmfresh0.5.2indirect
npmfresh2.0.0indirect
npmfs-constants1.0.0indirect
npmfs-extra11.3.3indirect
npmfs-minipass2.1.0indirect
npmfs.realpath1.0.0indirect
npmfsevents2.3.3indirect
npmfunction-bind1.1.2indirect
npmgauge4.0.4indirect
npmgaxios6.7.1indirect
npmgaxios7.1.5indirect
npmgcp-metadata6.1.1indirect
npmgcp-metadata8.1.2indirect
npmgenerate-function2.3.1indirect
npmget-caller-file2.0.5indirect
npmget-east-asian-width1.6.0indirect
npmget-intrinsic1.3.0indirect
npmget-package-type0.1.0indirect
npmget-proto1.0.1indirect
npmget-stream6.0.1indirect
npmgetopts2.3.0indirect
npmgithub-from-package0.0.0indirect
npmglob10.5.0indirect
npmglob7.2.3indirect
npmglob-parent5.1.2indirect
npmglob-parent6.0.2indirect
npmglobals13.24.0indirect
npmglobals14.0.0indirect
npmglobals16.5.0indirect
npmglobby11.1.0indirect
npmglobby14.1.0indirect
npmgoogle-logging-utils0.0.2indirect
npmgoogle-logging-utils1.1.3indirect
npmgoogleapis137.1.0indirect
npmgoogleapis-common7.2.0indirect
npmgopd1.2.0indirect
npmgraceful-fs4.2.11indirect
npmgraphemer1.4.0indirect
npmgtoken7.1.0indirect
npmgts5.3.1indirect
npmhard-rejection2.1.0indirect
npmhas-flag4.0.0indirect
npmhas-symbols1.1.0indirect
npmhas-tostringtag1.0.2indirect
npmhas-unicode2.0.1indirect
npmhasown2.0.4indirect
npmhe1.2.0indirect
npmhono4.12.25indirect
npmhosted-git-info2.8.9indirect
npmhosted-git-info4.1.0indirect
npmhosted-git-info7.0.2indirect
npmhtml-encoding-sniffer3.0.0indirect
npmhtml-entities2.6.0indirect
npmhtml-escaper2.0.2indirect
npmhttp-cache-semantics4.2.0indirect
npmhttp-errors2.0.1indirect
npmhttp-proxy1.18.1indirect
npmhttp-proxy-agent4.0.1indirect
npmhttp-proxy-agent5.0.0indirect
npmhttp-proxy-agent7.0.2indirect
npmhttp-server14.1.1indirect
npmhttps-proxy-agent5.0.1indirect
npmhttps-proxy-agent7.0.6indirect
npmhuman-signals2.1.0indirect
npmhumanize-ms1.2.1indirect
npmhusky9.1.7indirect
npmiconv-lite0.4.24indirect
npmiconv-lite0.6.3indirect
npmiconv-lite0.7.2indirect
npmieee7541.2.1indirect
npmignore5.3.2indirect
npmignore7.0.5indirect
npmimport-fresh3.3.1indirect
npmimurmurhash0.1.4indirect
npmindent-string4.0.0indirect
npmindex-to-position1.2.0indirect
npminfer-owner1.0.4indirect
npminflight1.0.6indirect
npminherits2.0.4indirect
npmini1.3.8indirect
npminquirer7.3.3indirect
npminterpret2.2.0indirect
npmip-address10.2.0indirect
npmipaddr.js1.9.1indirect
npmis-arrayish0.2.1indirect
npmis-core-module2.16.2indirect
npmis-docker3.0.0indirect
npmis-extglob2.1.1indirect
npmis-fullwidth-code-point3.0.0indirect
npmis-fullwidth-code-point5.1.0indirect
npmis-glob4.0.3indirect
npmis-inside-container1.0.0indirect
npmis-lambda1.0.1indirect
npmis-number7.0.0indirect
npmis-path-inside3.0.3indirect
npmis-plain-obj1.1.0indirect
npmis-promise4.0.0indirect
npmis-property1.0.2indirect
npmis-stream2.0.1indirect
npmis-unsafe1.0.1indirect
npmis-wsl3.1.1indirect
npmisexe2.0.0indirect
npmistanbul-lib-coverage3.2.2indirect
npmistanbul-lib-report3.0.1indirect
npmistanbul-lib-source-maps5.0.6indirect
npmistanbul-reports3.2.0indirect
npmistextorbinary9.5.0indirect
npmjackspeak3.4.3indirect
npmjose6.2.3indirect
npmjs-md40.3.2indirect
npmjs-tokens10.0.0indirect
npmjs-tokens4.0.0indirect
npmjs-tokens9.0.1indirect
npmjsep1.4.0indirect
npmjson-bigint1.0.0indirect
npmjson-buffer3.0.1indirect
npmjson-parse-even-better-errors2.3.1indirect
npmjson-schema-traverse0.4.1indirect
npmjson-schema-traverse1.0.0indirect
npmjson-schema-typed8.0.2indirect
npmjson-stable-stringify-without-jsonify1.0.1indirect
npmjson52.2.3indirect
npmjsonfile6.2.1indirect
npmjsonwebtoken9.0.3indirect
npmjwa2.0.1indirect
npmjws4.0.1indirect
npmkeyv4.5.4indirect
npmkind-of6.0.3indirect
npmknex3.2.10indirect
npmkuler2.0.0indirect
npmlevn0.4.1indirect
npmlines-and-columns1.2.4indirect
npmlinkify-it5.0.1indirect
npmlint-staged16.4.0indirect
npmlistr29.0.5indirect
npmlocate-path5.0.0indirect
npmlocate-path6.0.0indirect
npmlodash4.18.1indirect
npmlodash.camelcase4.3.0indirect
npmlodash.includes4.3.0indirect
npmlodash.isboolean3.0.3indirect
npmlodash.isinteger4.0.4indirect
npmlodash.isnumber3.0.3indirect
npmlodash.isplainobject4.0.6indirect
npmlodash.isstring4.0.1indirect
npmlodash.merge4.6.2indirect
npmlodash.once4.1.1indirect
npmlodash.sortby4.7.0indirect
npmlodash.truncate4.4.2indirect
npmlodash.uniq4.5.0indirect
npmlodash.uniqwith4.5.0indirect
npmlog-update6.1.0indirect
npmlogform2.7.0indirect
npmlong5.3.2indirect
npmloupe3.2.1indirect
npmlru-cache10.4.3indirect
npmlru-cache6.0.0indirect
npmlru.min1.1.4indirect
npmlunr2.3.9indirect
npmmagic-string0.30.21indirect
npmmagicast0.3.5indirect
npmmake-dir4.0.0indirect
npmmake-fetch-happen9.1.0indirect
npmmap-obj1.0.1indirect
npmmap-obj4.3.0indirect
npmmariadb3.4.5indirect
npmmarkdown-it14.2.0indirect
npmmath-intrinsics1.1.0indirect
npmmdurl2.0.0indirect
npmmedia-typer0.3.0indirect
npmmedia-typer1.1.0indirect
npmmeow9.0.0indirect
npmmerge-descriptors1.0.3indirect
npmmerge-descriptors2.0.0indirect
npmmerge-stream2.0.0indirect
npmmerge21.4.1indirect
npmmethods1.1.2indirect
npmmicromatch4.0.8indirect
npmmikro-orm6.6.14indirect
npmmime1.6.0indirect
npmmime3.0.0indirect
npmmime-db1.52.0indirect
npmmime-db1.54.0indirect
npmmime-types2.1.35indirect
npmmime-types3.0.2indirect
npmmimic-fn2.1.0indirect
npmmimic-function5.0.1indirect
npmmimic-response3.1.0indirect
npmmin-indent1.0.1indirect
npmminimatch10.2.5indirect
npmminimatch3.1.5indirect
npmminimatch9.0.9indirect
npmminimist1.2.8indirect
npmminimist-options4.1.0indirect
npmminipass3.3.6indirect
npmminipass5.0.0indirect
npmminipass7.1.3indirect
npmminipass-collect1.0.2indirect
npmminipass-fetch1.4.1indirect
npmminipass-flush1.0.7indirect
npmminipass-pipeline1.2.4indirect
npmminipass-sized1.0.3indirect
npmminizlib2.1.2indirect
npmmkdirp1.0.4indirect
npmmkdirp-classic0.5.3indirect
npmms2.0.0indirect
npmms2.1.2indirect
npmms2.1.3indirect
npmmute-stream0.0.8indirect
npmmysql23.20.0indirect
npmnamed-placeholders1.1.6indirect
npmnanoid3.3.12indirect
npmnapi-build-utils2.0.0indirect
npmnative-duplexpair1.0.0indirect
npmnatural-compare1.4.0indirect
npmnatural-compare-lite1.4.0indirect
npmncp2.0.0indirect
npmnegotiator0.6.3indirect
npmnegotiator1.0.0indirect
npmnode-abi3.92.0indirect
npmnode-addon-api7.1.1indirect
npmnode-domexception1.0.0indirect
npmnode-fetch2.7.0indirect
npmnode-fetch3.3.2indirect
npmnode-gyp8.4.1indirect
npmnopt5.0.0indirect
npmnormalize-package-data2.5.0indirect
npmnormalize-package-data3.0.3indirect
npmnormalize-package-data6.0.2indirect
npmnpm-run-path4.0.1indirect
npmnpmlog6.0.2indirect
npmobject-assign4.1.1indirect
npmobject-inspect1.13.4indirect
npmon-finished2.4.1indirect
npmonce1.4.0indirect
npmone-time1.0.0indirect
npmonetime5.1.2indirect
npmonetime7.0.0indirect
npmopen10.2.0indirect
npmopenapi-types12.1.3indirect
npmopenapi-types^12.1.3indirect
npmopener1.5.2indirect
npmoptionator0.9.4indirect
npmos-tmpdir1.0.2indirect
npmp-limit2.3.0indirect
npmp-limit3.1.0indirect
npmp-locate4.1.0indirect
npmp-locate5.0.0indirect
npmp-map4.0.0indirect
npmp-map7.0.4indirect
npmp-retry4.6.2indirect
npmp-try2.2.0indirect
npmpackage-json-from-dist1.0.1indirect
npmparent-module1.0.1indirect
npmparse-json5.2.0indirect
npmparse-json8.3.0indirect
npmparseurl1.3.3indirect
npmpath-browserify1.0.1indirect
npmpath-exists4.0.0indirect
npmpath-expression-matcher1.5.0indirect
npmpath-is-absolute1.0.1indirect
npmpath-key3.1.1indirect
npmpath-parse1.0.7indirect
npmpath-scurry1.11.1indirect
npmpath-to-regexp0.1.13indirect
npmpath-to-regexp8.4.2indirect
npmpath-type4.0.0indirect
npmpath-type6.0.0indirect
npmpathe2.0.3indirect
npmpathval2.0.1indirect
npmpg8.20.0indirect
npmpg-cloudflare1.4.0indirect
npmpg-connection-string2.13.0indirect
npmpg-connection-string2.6.2indirect
npmpg-int81.0.1indirect
npmpg-pool3.14.0indirect
npmpg-protocol1.14.0indirect
npmpg-types2.2.0indirect
npmpgpass1.0.5indirect
npmpicocolors1.1.1indirect
npmpicomatch2.3.2indirect
npmpicomatch4.0.4indirect
npmpkce-challenge5.0.1indirect
npmpluralize2.0.0indirect
npmpluralize8.0.0indirect
npmportfinder1.0.38indirect
npmpostcss8.5.15indirect
npmpostgres-array2.0.0indirect
npmpostgres-array3.0.4indirect
npmpostgres-bytea1.0.1indirect
npmpostgres-date1.0.7indirect
npmpostgres-date2.1.0indirect
npmpostgres-interval1.2.0indirect
npmpostgres-interval4.0.2indirect
npmprebuild-install7.1.3indirect
npmprelude-ls1.2.1indirect
npmprettier3.2.5indirect
npmprettier3.8.4indirect
npmprettier^3.2.5indirect
npmprettier-linter-helpers1.0.1indirect
npmprettier-plugin-organize-imports4.3.0indirect
npmprocess0.11.10indirect
npmpromise-inflight1.0.1indirect
npmpromise-retry2.0.1indirect
npmprotobufjs7.6.4indirect
npmproxy-addr2.0.7indirect
npmpump3.0.4indirect
npmpunycode2.3.1indirect
npmpunycode.js2.3.1indirect
npmqs6.15.2indirect
npmqueue-microtask1.2.3indirect
npmquick-lru4.0.1indirect
npmrange-parser1.2.1indirect
npmraw-body2.5.3indirect
npmraw-body3.0.2indirect
npmrc1.2.8indirect
npmrc-config-loader4.1.4indirect
npmread-pkg5.2.0indirect
npmread-pkg9.0.1indirect
npmread-pkg-up7.0.1indirect
npmreadable-stream3.6.2indirect
npmreadable-stream4.7.0indirect
npmrechoir0.8.0indirect
npmredent3.0.0indirect
npmreflect-metadata0.2.2indirect
npmregexpp3.2.0indirect
npmrequire-directory2.1.1indirect
npmrequire-from-string2.0.2indirect
npmrequires-port1.0.0indirect
npmresolve1.22.12indirect
npmresolve-from4.0.0indirect
npmresolve-from5.0.0indirect
npmrestore-cursor3.1.0indirect
npmrestore-cursor5.1.0indirect
npmretry0.12.0indirect
npmretry0.13.1indirect
npmretry-request7.0.2indirect
npmreusify1.1.0indirect
npmrfdc1.4.1indirect
npmrimraf3.0.2indirect
npmrollup4.62.0indirect
npmrouter2.2.0indirect
npmrun-applescript7.1.0indirect
npmrun-async2.4.1indirect
npmrun-parallel1.2.0indirect
npmrxjs6.6.7indirect
npmrxjs7.8.2indirect
npmsafe-buffer5.1.2indirect
npmsafe-buffer5.2.1indirect
npmsafe-stable-stringify2.5.0indirect
npmsafer-buffer2.1.2indirect
npmsecretlint11.7.1indirect
npmsecure-compare3.0.1indirect
npmsemver5.7.2indirect
npmsemver7.8.4indirect
npmsend0.19.2indirect
npmsend1.2.1indirect
npmserve-static1.16.3indirect
npmserve-static2.2.1indirect
npmset-blocking2.0.0indirect
npmsetprototypeof1.2.0indirect
npmshebang-command2.0.0indirect
npmshebang-regex3.0.0indirect
npmshell-quote1.8.3indirect
npmside-channel1.1.1indirect
npmside-channel-list1.0.1indirect
npmside-channel-map1.0.1indirect
npmside-channel-weakmap1.0.2indirect
npmsiginfo2.0.0indirect
npmsignal-exit3.0.7indirect
npmsignal-exit4.1.0indirect
npmsimple-concat1.0.1indirect
npmsimple-get4.0.1indirect
npmsisteransi1.0.5indirect
npmslash3.0.0indirect
npmslash5.1.0indirect
npmslice-ansi4.0.0indirect
npmslice-ansi7.1.2indirect
npmslice-ansi8.0.0indirect
npmsmart-buffer4.2.0indirect
npmsocks2.8.9indirect
npmsocks-proxy-agent6.2.1indirect
npmsource-map-js1.2.1indirect
npmspdx-correct3.2.0indirect
npmspdx-exceptions2.5.0indirect
npmspdx-expression-parse3.0.1indirect
npmspdx-license-ids3.0.23indirect
npmsplit24.2.0indirect
npmsprintf-js1.1.3indirect
npmsql-escaper1.3.3indirect
npmsqlite35.1.7indirect
npmsqlstring2.3.3indirect
npmsqlstring-sqlite0.1.1indirect
npmssri8.0.1indirect
npmstack-trace0.0.10indirect
npmstackback0.0.2indirect
npmstatuses2.0.2indirect
npmstd-env3.10.0indirect
npmstream-events1.0.5indirect
npmstream-shift1.0.3indirect
npmstring-argv0.3.2indirect
npmstring-width4.2.3indirect
npmstring-width5.1.2indirect
npmstring-width7.2.0indirect
npmstring-width8.2.1indirect
npmstring_decoder1.3.0indirect
npmstrip-ansi6.0.1indirect
npmstrip-ansi7.2.0indirect
npmstrip-final-newline2.0.0indirect
npmstrip-indent3.0.0indirect
npmstrip-json-comments2.0.1indirect
npmstrip-json-comments3.1.1indirect
npmstrip-literal3.1.0indirect
npmstrnum2.4.0indirect
npmstructured-source4.0.0indirect
npmstubs3.0.0indirect
npmsupports-color7.2.0indirect
npmsupports-color8.1.1indirect
npmsupports-hyperlinks3.2.0indirect
npmsupports-preserve-symlinks-flag1.0.0indirect
npmsynckit0.8.8indirect
npmtable6.9.0indirect
npmtar6.2.1indirect
npmtar-fs2.1.4indirect
npmtar-stream2.2.0indirect
npmtarn3.0.2indirect
npmtedious19.2.1indirect
npmteeny-request9.0.0indirect
npmterminal-link4.0.0indirect
npmtest-exclude7.0.2indirect
npmtext-hex1.0.0indirect
npmtext-table0.2.0indirect
npmtextextensions6.11.0indirect
npmthrough2.3.8indirect
npmtildify2.0.0indirect
npmtinybench2.9.0indirect
npmtinyexec0.3.2indirect
npmtinyexec1.2.4indirect
npmtinyglobby0.2.17indirect
npmtinypool1.1.1indirect
npmtinyrainbow2.0.0indirect
npmtinyspy4.0.4indirect
npmtmp0.0.33indirect
npmto-regex-range5.0.1indirect
npmtoidentifier1.0.1indirect
npmtr460.0.3indirect
npmtree-kill1.2.2indirect
npmtrim-newlines3.0.1indirect
npmtriple-beam1.4.1indirect
npmts-api-utils1.4.3indirect
npmts-api-utils2.5.0indirect
npmts-morph27.0.2indirect
npmtslib1.14.1indirect
npmtslib2.8.1indirect
npmtslib^2.6.2indirect
npmtsqlstring1.0.1indirect
npmtsutils3.21.0indirect
npmtunnel-agent0.6.0indirect
npmtype-check0.4.0indirect
npmtype-fest0.18.1indirect
npmtype-fest0.20.2indirect
npmtype-fest0.21.3indirect
npmtype-fest0.6.0indirect
npmtype-fest0.8.1indirect
npmtype-fest4.41.0indirect
npmtype-is1.6.18indirect
npmtype-is2.1.0indirect
npmtypedoc0.28.19indirect
npmtypedoc-theme-fresh0.2.3indirect
npmtypescript5.9.3indirect
npmtypescript^5.9.2indirect
npmtypescript-eslint8.61.1indirect
npmuc.micro2.1.0indirect
npmundici-types6.21.0indirect
npmundici-types7.18.2indirect
npmunicorn-magic0.1.0indirect
npmunicorn-magic0.3.0indirect
npmunion0.5.0indirect
npmunique-filename1.1.1indirect
npmunique-slug2.0.2indirect
npmuniversalify2.0.1indirect
npmunpipe1.0.0indirect
npmuri-js4.4.1indirect
npmurl-join4.0.1indirect
npmurl-template2.0.8indirect
npmutil-deprecate1.0.2indirect
npmutils-merge1.0.1indirect
npmuuid11.1.1indirect
npmuuid9.0.1indirect
npmvalidate-npm-package-license3.0.4indirect
npmvary1.1.2indirect
npmversion-range4.15.0indirect
npmvite7.3.5indirect
npmvite-node3.2.4indirect
npmvitest3.2.6indirect
npmvitest^3.2.4indirect
npmweb-streams-polyfill3.3.3indirect
npmwebidl-conversions3.0.1indirect
npmwhatwg-encoding2.0.0indirect
npmwhatwg-url5.0.0indirect
npmwhich2.0.2indirect
npmwhy-is-node-running2.3.0indirect
npmwide-align1.1.5indirect
npmwinston-transport4.9.0indirect
npmword-wrap1.2.5indirect
npmwrap-ansi7.0.0indirect
npmwrap-ansi8.1.0indirect
npmwrap-ansi9.0.2indirect
npmwrappy1.0.2indirect
npmwrite-file-atomic4.0.2indirect
npmws8.21.0indirect
npmwsl-utils0.1.0indirect
npmxml-naming0.1.0indirect
npmxtend4.0.2indirect
npmy18n5.0.8indirect
npmyallist4.0.0indirect
npmyaml2.9.0indirect
npmyargs17.7.2indirect
npmyargs-parser20.2.9indirect
npmyargs-parser21.1.1indirect
npmyocto-queue0.1.0indirect
Dependency advisories 24

This repository publishes no package the index resolves, so its own dependency graph was assessed — 1,089 packages, which also include development and test pins that never ship: 24 carry known advisories, of which 3 are direct. 59 could not be assessed — no resolved version, an unsupported ecosystem, or beyond the reported package list.

PackageVersionRelationSeverityAdvisoriesFixed in
google.golang.org/grpcv1.79.3indirectcritical21.82.1
shell-quote1.8.3indirectcritical21.9.0
adm-zip0.5.17directhigh10.6.0
js-yaml4.2.0directhigh14.3.0
brace-expansion1.1.15indirecthigh25.0.8
brace-expansion2.1.1indirecthigh25.0.8
brace-expansion5.0.6indirecthigh25.0.8
fast-uri3.1.2indirecthigh24.1.1
linkify-it5.0.1indirecthigh15.0.2
postcss8.5.15indirecthigh18.5.18
tar6.2.1indirecthigh127.5.21
tmp0.0.33indirecthigh20.2.6
uuid9.0.1indirecthigh113.0.1
@hono/node-server1.19.14indirectmoderate12.0.5
@opentelemetry/core2.1.0indirectmoderate12.8.0
hono4.12.25indirectmoderate34.12.27
protobufjs7.6.4indirectmoderate18.6.6
esbuild0.27.7directlow10.28.1
@tootallnate/once1.1.2indirectlow13.0.1
body-parser1.20.5indirectlow12.3.0
go.opentelemetry.io/otelv1.41.0indirectunknown11.44.0
golang.org/x/cryptov0.52.0indirectunknown1
golang.org/x/netv0.55.0indirectunknown10.56.0
golang.org/x/textv0.37.0indirectunknown10.39.0

An advisory means the version recorded in the dependency graph falls inside an advisory’s affected range. Reachability is not analysed, and the graph includes development and test pins — a finding may concern tooling rather than shipped software.

Raw JSON report machine-readable
{
  "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"
}

Scores are signals, not warranties. They reflect publicly visible practices on GitHub — not a code audit, and not a security guarantee.

Missing data is excluded and weights renormalized, never scored as zero. Methodology is versioned and open: metrics v1.13.0, schema v0.27.0 — full methodology · metrics wiki.

How one result sits in the wider record: aggregate statisticsnpm.