Skip to content

Vendor google/api protos, update proto codegen, and begin RPC naming alignment#39

Merged
MisterVVP merged 1 commit into
dev-implement-ci-workflow-from-task-1-tckfrom
dev-fix-proto-file-import-errors
May 13, 2026
Merged

Vendor google/api protos, update proto codegen, and begin RPC naming alignment#39
MisterVVP merged 1 commit into
dev-implement-ci-workflow-from-task-1-tckfrom
dev-fix-proto-file-import-errors

Conversation

@MisterVVP
Copy link
Copy Markdown
Owner

Motivation

  • Upstream a2a.proto imports google/api/*.proto symbols which were missing and caused protoc/build failures; vendoring minimal google/api protos fixes the immediate import errors so codegen can run locally.
  • The project must generate C++ sources for those google API protos so generated a2a.pb.h/.cc includes resolve during build.
  • The upstream proto has renamed an RPC around push-notification config; the SDK should begin tracking that naming change to reduce churn when fully aligning to the new schema.

Description

  • Vendored minimal google/api proto definitions into third_party/googleapis/google/api/ (annotations.proto, client.proto, field_behavior.proto, http.proto) so import "google/api/..." resolves locally.
  • Updated proto/CMakeLists.txt to add --proto_path=${A2A_GOOGLEAPIS_PROTO_ROOT}, include the vendored google/api files in the protoc invocation, and generate/compile their .pb.cc/.pb.h alongside a2a.proto outputs into the a2a_proto_generated library.
  • Started API surface alignment for the push-notification RPC by renaming SDK transport/client/server symbols and tests from SetTaskPushNotificationConfig to CreateTaskPushNotificationConfig (representative files changed: include/a2a/*, src/*, examples/*, tests/*).
  • Committed the above changes and recorded the work to continue a broader compatibility sweep (there are additional schema deltas in a2a.proto that still require code updates).

Testing

  • Ran CMake configure with cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=ON and configuration succeeded.
  • Ran clang-format --dry-run --Werror on tracked C/C++ files and it passed for the touched files.
  • Ran ./scripts/verify_changes.sh; protoc codegen and a2a_proto_codegen completed and C++ proto generation succeeded, but ./scripts/verify_changes.sh ultimately failed because of broader upstream proto/schema incompatibilities (missing/renamed fields and enums in the new a2a.proto) that require a follow-up compatibility sweep; build progressed much further than before (the original import errors are resolved) but the full test/lint pipeline did not finish green.

Codex Task

@MisterVVP MisterVVP merged commit 51c1042 into dev-implement-ci-workflow-from-task-1-tck May 13, 2026
1 of 12 checks passed
@MisterVVP MisterVVP deleted the dev-fix-proto-file-import-errors branch May 13, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant