Skip to content

feat(visionai): generate library#16008

Merged
scotthart merged 5 commits intogoogleapis:mainfrom
scotthart:feat-visionai-generate-library-2
Feb 25, 2026
Merged

feat(visionai): generate library#16008
scotthart merged 5 commits intogoogleapis:mainfrom
scotthart:feat-visionai-generate-library-2

Conversation

@scotthart
Copy link
Member

@scotthart scotthart commented Feb 25, 2026

This change is Reviewable

@gemini-code-assist
Copy link

Summary of Changes

Hello @scotthart, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on generating and integrating the C++ client library for the Vision AI API. It encompasses updates to various build configurations, dependency management, and documentation to fully support the new service within the existing framework.

Highlights

  • New Library: Vision AI API: Introduced the C++ client library for the Vision AI API, marking its General Availability (GA) and readiness for production use.
  • Dependency Update: Updated the yaml-cpp dependency from version 0.8.0 to 0.9.0 across Bazel build configurations.
  • Build System Integration: Integrated the new Vision AI API library into the Bazel and CMake build systems, including new build files, quickstart examples, and necessary configuration updates.
  • Documentation: Added comprehensive documentation for the Vision AI API, covering environment variables, authentication, endpoint overrides, retry policies, and a quickstart guide.
Changelog
  • .typos.toml
    • Added google/cloud/visionai/v1/warehouse_client.h to the exclusion list for typo checks.
    • Removed a trailing comma from the extend-exclude list.
  • CHANGELOG.md
    • Added a new section announcing the General Availability of the Vision AI API library.
  • MODULE.bazel
    • Updated the yaml-cpp dependency version from 0.8.0 to 0.9.0.
  • README.md
    • Added Vision AI API to the list of supported libraries with links to its README, quickstart, and reference documentation.
  • bazel/development0.bzl
    • Updated the yaml-cpp archive URL, SHA256 hash, and strip prefix to reflect version 0.9.0.
  • ci/cloudbuild/builds/generate-libraries.sh
    • Modified the determination of protobuf_proto_path and googleapis_proto_path.
    • Added log statements to output the resolved proto paths.
  • ci/etc/expected_install_directories
    • Added expected install directories for Vision AI API headers and CMake files, including visionai, visionai/v1, visionai/v1/internal, and visionai/v1/mocks.
  • cmake/GoogleCloudCppFeatures.cmake
    • Included 'visionai' in the list of GA libraries.
  • external/googleapis/protodeps/visionai.deps
    • Added a new file specifying protobuf dependencies for the Vision AI API.
  • external/googleapis/protolists/visionai.list
    • Added a new file listing the protobuf files for Vision AI v1 services.
  • external/googleapis/update_libraries.sh
    • Added 'visionai' to the map of libraries to be updated.
  • generator/generator_config.textproto
    • Added service configurations for multiple Vision AI v1 services, including health_service, lva_service, platform, streaming_service, streams_service, and warehouse.
  • google/cloud/visionai/BUILD.bazel
    • Added a new Bazel build file to define the Vision AI library target.
  • google/cloud/visionai/CMakeLists.txt
    • Added a new CMake configuration file for the Vision AI library, including quickstart executable setup.
  • google/cloud/visionai/README.md
    • Added a new README file for the Vision AI API C++ Client Library, detailing its GA status and quickstart information.
  • google/cloud/visionai/doc/environment-variables.dox
    • Added new Doxygen documentation for environment variables to configure Vision AI API endpoints and logging.
  • google/cloud/visionai/doc/main.dox
    • Added a new main Doxygen documentation page for the Vision AI API C++ Client Library.
  • google/cloud/visionai/doc/options.dox
    • Added new Doxygen documentation for Vision AI API configuration options.
  • google/cloud/visionai/doc/override-authentication.dox
    • Added new Doxygen documentation on how to override authentication credentials for Vision AI API clients.
  • google/cloud/visionai/doc/override-endpoint.dox
    • Added new Doxygen documentation on how to override default endpoints for Vision AI API clients.
  • google/cloud/visionai/doc/override-retry-policies.dox
    • Added new Doxygen documentation on how to override retry, backoff, and idempotency policies for Vision AI API clients.
  • google/cloud/visionai/doc/override-universe-domain.dox
    • Added new Doxygen documentation on how to override the default universe domain for Vision AI API clients.
  • google/cloud/visionai/quickstart/.bazelrc
    • Added a new Bazel configuration file for the Vision AI quickstart, specifying C++14 and convenience symlink settings.
  • google/cloud/visionai/quickstart/BUILD.bazel
    • Added a new Bazel build file for the Vision AI quickstart executable.
  • google/cloud/visionai/quickstart/CMakeLists.txt
    • Added a new CMake configuration file for the Vision AI quickstart, including MSVC runtime library selection.
  • google/cloud/visionai/quickstart/Makefile
    • Added a new Makefile for the Vision AI quickstart, demonstrating compilation and linking.
  • google/cloud/visionai/quickstart/README.md
    • Added a new README for the Vision AI quickstart, providing instructions for Bazel and CMake, and platform-specific notes.
  • google/cloud/visionai/quickstart/WORKSPACE.bazel
    • Added a new Bazel workspace file for the Vision AI quickstart, defining external dependencies.
  • google/cloud/visionai/quickstart/quickstart.cc
    • Added a new C++ quickstart example demonstrating basic usage of the Vision AI API AppPlatformClient.
  • google/cloud/visionai/v1/.repo-metadata.json
    • Added a new repository metadata file for Vision AI v1, including API details and documentation links.
  • google/cloud/visionai/v1/app_platform_client.cc
    • Added the C++ client implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/app_platform_connection.cc
    • Added the C++ connection implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/app_platform_connection.h
    • Added the C++ connection header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/app_platform_connection_idempotency_policy.cc
    • Added the C++ idempotency policy implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/app_platform_connection_idempotency_policy.h
    • Added the C++ idempotency policy header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/app_platform_options.h
    • Added the C++ options header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/health_check_client.cc
    • Added the C++ client implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_client.h
    • Added the C++ client header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_connection.cc
    • Added the C++ connection implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_connection.h
    • Added the C++ connection header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_connection_idempotency_policy.cc
    • Added the C++ idempotency policy implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_connection_idempotency_policy.h
    • Added the C++ idempotency policy header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/health_check_options.h
    • Added the C++ options header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/app_platform_auth_decorator.cc
    • Added the C++ authentication decorator implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_auth_decorator.h
    • Added the C++ authentication decorator header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_connection_impl.cc
    • Added the C++ connection implementation details for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_connection_impl.h
    • Added the C++ connection implementation header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_logging_decorator.cc
    • Added the C++ logging decorator implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_logging_decorator.h
    • Added the C++ logging decorator header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_metadata_decorator.cc
    • Added the C++ metadata decorator implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_metadata_decorator.h
    • Added the C++ metadata decorator header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_option_defaults.cc
    • Added the C++ option defaults implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_option_defaults.h
    • Added the C++ option defaults header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_retry_traits.h
    • Added the C++ retry traits header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_sources.cc
    • Added the C++ source file for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_stub.cc
    • Added the C++ stub implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_stub.h
    • Added the C++ stub header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_stub_factory.cc
    • Added the C++ stub factory implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_stub_factory.h
    • Added the C++ stub factory header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_tracing_connection.cc
    • Added the C++ tracing connection implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_tracing_connection.h
    • Added the C++ tracing connection header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_tracing_stub.cc
    • Added the C++ tracing stub implementation for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/app_platform_tracing_stub.h
    • Added the C++ tracing stub header for the Vision AI AppPlatform service.
  • google/cloud/visionai/v1/internal/health_check_auth_decorator.cc
    • Added the C++ authentication decorator implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_auth_decorator.h
    • Added the C++ authentication decorator header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_connection_impl.cc
    • Added the C++ connection implementation details for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_connection_impl.h
    • Added the C++ connection implementation header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_logging_decorator.cc
    • Added the C++ logging decorator implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_logging_decorator.h
    • Added the C++ logging decorator header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_metadata_decorator.cc
    • Added the C++ metadata decorator implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_metadata_decorator.h
    • Added the C++ metadata decorator header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_option_defaults.cc
    • Added the C++ option defaults implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_option_defaults.h
    • Added the C++ option defaults header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_retry_traits.h
    • Added the C++ retry traits header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_sources.cc
    • Added the C++ source file for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_stub.cc
    • Added the C++ stub implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_stub.h
    • Added the C++ stub header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_stub_factory.cc
    • Added the C++ stub factory implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_stub_factory.h
    • Added the C++ stub factory header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_tracing_connection.cc
    • Added the C++ tracing connection implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_tracing_connection.h
    • Added the C++ tracing connection header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_tracing_stub.cc
    • Added the C++ tracing stub implementation for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/health_check_tracing_stub.h
    • Added the C++ tracing stub header for the Vision AI HealthCheckService.
  • google/cloud/visionai/v1/internal/live_video_analytics_auth_decorator.cc
    • Added the C++ authentication decorator implementation for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_auth_decorator.h
    • Added the C++ authentication decorator header for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_connection_impl.cc
    • Added the C++ connection implementation details for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_connection_impl.h
    • Added the C++ connection implementation header for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_logging_decorator.cc
    • Added the C++ logging decorator implementation for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_logging_decorator.h
    • Added the C++ logging decorator header for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_metadata_decorator.cc
    • Added the C++ metadata decorator implementation for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_metadata_decorator.h
    • Added the C++ metadata decorator header for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_option_defaults.cc
    • Added the C++ option defaults implementation for the Vision AI LiveVideoAnalytics service.
  • google/cloud/visionai/v1/internal/live_video_analytics_option_defaults.h
    • Added the C++ option defaults header for the Vision AI LiveVideoAnalytics service.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the generated C++ client library for the Vision AI API. The changes are mostly additions of new files for the library, its documentation, and quickstart examples. The PR also includes updates to the project's build files (Bazel, CMake), dependency versions, and CI configurations to incorporate the new library.

My review has identified a couple of issues:

  • The copyright year for the new library is set to a future year (2026) in the generator configuration, which affects all generated files.
  • A CI script contains redundant code that should be cleaned up for better maintainability.

Comment on lines +4042 to +4082
service {
service_proto_path: "google/cloud/visionai/v1/health_service.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/cloud/visionai/v1/lva_service.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/cloud/visionai/v1/platform.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/cloud/visionai/v1/streaming_service.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/cloud/visionai/v1/streams_service.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

service {
service_proto_path: "google/cloud/visionai/v1/warehouse.proto"
product_path: "google/cloud/visionai/v1"
initial_copyright_year: "2026"
retryable_status_codes: ["kUnavailable"]
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The initial_copyright_year for all new visionai services is set to "2026", which is a future year. This value is propagated to the copyright headers of all newly generated files. This should be updated to the current year for all new service definitions.

Comment on lines 32 to 33
protobuf_proto_path="${bazel_output_base}/external/protobuf+/src"
googleapis_proto_path="${bazel_output_base}/external/googleapis+"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since these lines now define protobuf_proto_path and googleapis_proto_path, the read commands on lines 29-30 are redundant and can be removed to improve script clarity and avoid executing unnecessary find commands.

@scotthart scotthart force-pushed the feat-visionai-generate-library-2 branch from 2beda2f to fd7b5d1 Compare February 25, 2026 02:10
@scotthart scotthart closed this Feb 25, 2026
@scotthart scotthart reopened this Feb 25, 2026
@scotthart scotthart marked this pull request as ready for review February 25, 2026 14:13
@scotthart scotthart requested a review from a team as a code owner February 25, 2026 14:14
@codecov
Copy link

codecov bot commented Feb 25, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.64%. Comparing base (ec22823) to head (15214f5).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #16008   +/-   ##
=======================================
  Coverage   92.63%   92.64%           
=======================================
  Files        2333     2333           
  Lines      214631   214631           
=======================================
+ Hits       198827   198846   +19     
+ Misses      15804    15785   -19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@scotthart scotthart enabled auto-merge (squash) February 25, 2026 19:45
@scotthart scotthart merged commit 78e3fe1 into googleapis:main Feb 25, 2026
56 of 64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants