google / google/adk-python

to_a2a(): accept a service_url string instead of separate host/port/protocol params

Đang mở
#5,060 2 bình luận 0 reaction 2 người được giao Được @ankursharmas nhận Xem trên GitHub
core needs review
Ngôn ngữ chính
Python
Star
21.5k
Fork
4k
Merge trung bình
1 ngày 22 giờ
Pull request đã merge (30 ngày)
31

Mô tả

## Feature request

`to_a2a()` currently requires `host`, `port`, and `protocol` as separate parameters:

```python
app = to_a2a(
root_agent,
host="localhost",
port=8002,
protocol="http",
runner=_create_runner,
agent_card=agent_card,
)
```

In practice, the service URL is typically available as a single string (e.g. `SERVICE_URL=http://localhost:8002` for local dev, or `https://my-agent.europe-west1.run.app` on Cloud Run). This forces every consumer to manually parse the URL with `urlparse()` to extract the three components:

```python
parsed = urlparse(settings.SERVICE_URL)
protocol = parsed.scheme or "http"
host = parsed.hostname or "localhost"
port = parsed.port or (443 if protocol == "https" else 80)
```

## Proposal

Accept an optional `service_url` parameter as an alternative to `host`/`port`/`protocol`:

```python
# New — single URL string
app = to_a2a(root_agent, service_url="http://localhost:8002", ...)

# Existing — still works
app = to_a2a(root_agent, host="localhost", port=8002, protocol="http", ...)
```

This would reduce boilerplate for Cloud Run, Kubernetes, and any deployment where the URL comes from an environment variable.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.