mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-25 11:12:36 -07:00
22f7ec0227
This consolidated commit implements comprehensive gRPC V1 support for A2A agents while maintaining high standards for type safety and encapsulation:
- gRPC V1 Protocol Bridge: Implemented a direct gRPC implementation in 'v1-bridge.ts' to support the V1 protocol ('tenant' at Tag 1, 'Message' at Tag 2). Fixed request mapping to avoid nested object issues and correctly handle streaming responses.
- Robust Card Normalization: Refactored 'a2aUtils.ts' to preserve all original agent card fields (ensuring SDK compatibility) while safely normalizing 'protocolBinding' to 'transport' for gRPC discovery.
- Orchestration Clean-up: Refactored 'A2AClientManager' to use high-level delegation, extracting SDK and V1-specific logic into clean helper methods. Removed all 'eslint-disable' markers through robust type guards and explicit object construction.
- Registry Stability: Refined 'AgentRegistry' to use the canonical agent name as the storage key, ensuring consistency even when local overrides are applied.
- Infrastructure: Integrated UndiciAgent with 30-minute timeouts for remote agent tasks and improved agent card URL resolution.
- Validation: Added a real-world integration test against a local Go server. Verified with 75 tests passing project-wide.
111 lines
3.5 KiB
JSON
111 lines
3.5 KiB
JSON
{
|
|
"name": "@google/gemini-cli-core",
|
|
"version": "0.34.0-nightly.20260304.28af4e127",
|
|
"description": "Gemini CLI Core",
|
|
"license": "Apache-2.0",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "git+https://github.com/google-gemini/gemini-cli.git"
|
|
},
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build": "node ../../scripts/build_package.js",
|
|
"lint": "eslint . --ext .ts,.tsx",
|
|
"format": "prettier --write .",
|
|
"test": "vitest run",
|
|
"test:ci": "vitest run",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"dependencies": {
|
|
"@a2a-js/sdk": "^0.3.10",
|
|
"@bufbuild/protobuf": "^2.11.0",
|
|
"@google-cloud/logging": "^11.2.1",
|
|
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.21.0",
|
|
"@google-cloud/opentelemetry-cloud-trace-exporter": "^3.0.0",
|
|
"@google/genai": "1.41.0",
|
|
"@grpc/grpc-js": "^1.14.3",
|
|
"@iarna/toml": "^2.2.5",
|
|
"@joshua.litt/get-ripgrep": "^0.0.3",
|
|
"@modelcontextprotocol/sdk": "^1.23.0",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/api-logs": "^0.211.0",
|
|
"@opentelemetry/core": "^2.5.0",
|
|
"@opentelemetry/exporter-logs-otlp-grpc": "^0.211.0",
|
|
"@opentelemetry/exporter-logs-otlp-http": "^0.211.0",
|
|
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.211.0",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.211.0",
|
|
"@opentelemetry/exporter-trace-otlp-grpc": "^0.211.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.211.0",
|
|
"@opentelemetry/instrumentation-http": "^0.211.0",
|
|
"@opentelemetry/otlp-exporter-base": "^0.211.0",
|
|
"@opentelemetry/resources": "^2.5.0",
|
|
"@opentelemetry/sdk-logs": "^0.211.0",
|
|
"@opentelemetry/sdk-metrics": "^2.5.0",
|
|
"@opentelemetry/sdk-node": "^0.211.0",
|
|
"@opentelemetry/sdk-trace-base": "^2.5.0",
|
|
"@opentelemetry/sdk-trace-node": "^2.5.0",
|
|
"@opentelemetry/semantic-conventions": "^1.39.0",
|
|
"@types/html-to-text": "^9.0.4",
|
|
"@xterm/headless": "5.5.0",
|
|
"ajv": "^8.17.1",
|
|
"ajv-formats": "^3.0.0",
|
|
"chardet": "^2.1.0",
|
|
"diff": "^8.0.3",
|
|
"dotenv": "^17.2.4",
|
|
"dotenv-expand": "^12.0.3",
|
|
"fast-levenshtein": "^2.0.6",
|
|
"fdir": "^6.4.6",
|
|
"fzf": "^0.5.2",
|
|
"glob": "^12.0.0",
|
|
"google-auth-library": "^10.5.0",
|
|
"html-to-text": "^9.0.5",
|
|
"https-proxy-agent": "^7.0.6",
|
|
"ignore": "^7.0.0",
|
|
"js-yaml": "^4.1.1",
|
|
"marked": "^15.0.12",
|
|
"mime": "4.0.7",
|
|
"mnemonist": "^0.40.3",
|
|
"open": "^10.1.2",
|
|
"picomatch": "^4.0.1",
|
|
"proper-lockfile": "^4.1.2",
|
|
"read-package-up": "^11.0.0",
|
|
"shell-quote": "^1.8.3",
|
|
"simple-git": "^3.28.0",
|
|
"strip-ansi": "^7.1.0",
|
|
"strip-json-comments": "^3.1.1",
|
|
"systeminformation": "^5.25.11",
|
|
"tree-sitter-bash": "^0.25.0",
|
|
"undici": "^7.10.0",
|
|
"uuid": "^13.0.0",
|
|
"web-tree-sitter": "^0.25.10",
|
|
"zod": "^3.25.76",
|
|
"zod-to-json-schema": "^3.25.1"
|
|
},
|
|
"optionalDependencies": {
|
|
"@lydell/node-pty": "1.1.0",
|
|
"@lydell/node-pty-darwin-arm64": "1.1.0",
|
|
"@lydell/node-pty-darwin-x64": "1.1.0",
|
|
"@lydell/node-pty-linux-x64": "1.1.0",
|
|
"@lydell/node-pty-win32-arm64": "1.1.0",
|
|
"@lydell/node-pty-win32-x64": "1.1.0",
|
|
"keytar": "^7.9.0",
|
|
"node-pty": "^1.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@google/gemini-cli-test-utils": "file:../test-utils",
|
|
"@types/fast-levenshtein": "^0.0.4",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/picomatch": "^4.0.1",
|
|
"msw": "^2.3.4",
|
|
"typescript": "^5.3.3",
|
|
"vitest": "^3.1.1"
|
|
},
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|