Advertise Agent Zero version in connector handshakes

Expose the Core Agent Zero version from both connector capabilities and connector_hello so A0 CLI clients can warn when they are older than the connected server.

Alessandro committed Jun 2, 2026 at 12:07 UTC 41cd28e6d52c1e2d7cf84d3d125bee31c39084b4
3 files changed +15
plugins/_a0_connector/api/v1/capabilities.py
+2
@@ -6,6 +6,7 @@ import sys
6
7 from helpers.api import Request, Response
8 import plugins._a0_connector.api.v1.base as connector_base
9 +from plugins._a0_connector.helpers.version import agent_zero_version
10
11
12 _BASE_FEATURES = [
@@ -80,6 +81,7 @@ class Capabilities(connector_base.PublicConnectorApiHandler):
81 return {
82 "protocol": "a0-connector.v1",
83 "version": "0.1.0",
84 + "agent_zero_version": agent_zero_version(),
85 "auth": ["session"],
86 "auth_required": bool(login.is_login_required()),
87 "transports": ["http", "websocket"],
plugins/_a0_connector/api/ws_connector.py
+2
@@ -10,6 +10,7 @@ from helpers.ws_manager import WsResult
10
11 from plugins._a0_connector.helpers.exec_config import build_exec_config
12 from plugins._a0_connector.helpers.event_bridge import get_context_log_entries
13 +from plugins._a0_connector.helpers.version import agent_zero_version
14 from plugins._a0_connector.helpers.ws_runtime import (
15 clear_remote_tree_snapshot,
16 clear_sid_host_browser_metadata,
@@ -119,6 +120,7 @@ class WsConnector(WsHandler):
120 self._associate_declared_context(data, sid)
121 return {
122 "protocol": PROTOCOL_VERSION,
123 + "agent_zero_version": agent_zero_version(),
124 "features": WS_FEATURES,
125 "exec_config": build_exec_config(),
126 "remote_tools": self._remote_tool_state(sid),
plugins/_a0_connector/helpers/version.py new
+11
@@ -0,0 +1,11 @@
1 +"""Version metadata helpers for the A0 connector plugin."""
2 +from __future__ import annotations
3 +
4 +
5 +def agent_zero_version() -> str:
6 + try:
7 + from helpers import git
8 +
9 + return str(git.get_version()).strip() or "unknown"
10 + except Exception:
11 + return "unknown"