Compare commits
No commits in common. 'master' and 'preview' have entirely different histories.
7062 changed files with 8841 additions and 1586212 deletions
@ -1,7 +0,0 @@ |
||||
FROM gcr.io/cloud-builders/bazel |
||||
|
||||
RUN apt-get update && apt-get install -y \ |
||||
zip \ |
||||
libxml2-dev \ |
||||
build-essential |
||||
|
@ -1,20 +0,0 @@ |
||||
steps: |
||||
- name: 'gcr.io/cloud-builders/docker' |
||||
args: ['build', '-f', '.cloudbuild/Dockerfile.bazel-gapic', '-t', 'bazel-gapic', '.'] |
||||
- name: 'bazel-gapic' |
||||
args: ['build', '--remote_http_cache=https://storage.googleapis.com/$PROJECT_ID-cloud-build-artifacts/$REPO_NAME/bazel-remote-cache', '--google_default_credentials', '//:gapic-cloud-build'] |
||||
- name: 'ubuntu' |
||||
args: ['mkdir', 'gapic-cloud-build'] |
||||
- name: 'ubuntu' |
||||
args: ['tar', '-xf', 'bazel-bin/gapic-cloud-build.tar', '-C', 'gapic-cloud-build'] |
||||
- name: 'gcr.io/cloud-builders/gsutil' |
||||
args: ['-m', 'cp', '-r', 'gapic-cloud-build', 'gs://$PROJECT_ID-cloud-build-artifacts/$REPO_NAME/$COMMIT_SHA/gapic-cloud-build'] |
||||
- name: 'ubuntu' |
||||
args: ['bash', './.cloudbuild/write-latest.sh', '$COMMIT_SHA'] |
||||
artifacts: |
||||
objects: |
||||
location: 'gs://$PROJECT_ID-cloud-build-artifacts/$REPO_NAME/' |
||||
paths: |
||||
- 'cloud_build_latest' |
||||
options: |
||||
machineType: 'N1_HIGHCPU_32' |
@ -1,3 +0,0 @@ |
||||
#!/bin/bash |
||||
|
||||
echo $1 > cloud_build_latest |
@ -1,18 +0,0 @@ |
||||
# The JSONPath filter expression used to identify which PRs to close. |
||||
# The data filtered is the pull request data along with other metadata passed in |
||||
# by probot. |
||||
# Default behavior: Close all PRs. |
||||
filters: |
||||
# Don't close PRs in the pubsub_dev branch. |
||||
- '@.pull_request.base.ref != "pubsub_dev"' |
||||
- '@.pull_request.base.ref != "diregapic"' |
||||
|
||||
# The message to post to the closed PR. |
||||
commentBody: | |
||||
Thanks for your contribution! Unfortunately, we don't use GitHub pull |
||||
requests to manage code contributions to this repository. Instead, please |
||||
see [CONTRIBUTING.md](../blob/master/CONTRIBUTING.md) which provides full |
||||
instructions on how to get involved. |
||||
|
||||
# Whether to add a label to the closed PR. |
||||
addLabel: false |
@ -1,52 +0,0 @@ |
||||
--- |
||||
name: DIREGAPIC Updater |
||||
on: # yamllint disable-line rule:truthy |
||||
schedule: |
||||
- cron: '19 */8 * * *' |
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
regenerate-compute: |
||||
if: github.repository == 'googleapis/googleapis' |
||||
runs-on: ubuntu-latest |
||||
container: gcr.io/gapic-images/googleapis:20230531 |
||||
steps: |
||||
- name: Checkout master |
||||
uses: actions/checkout@v3 |
||||
with: |
||||
ref: master |
||||
- name: Download discovery docs |
||||
run: | |
||||
curl https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/refs/heads/master/discoveries/compute.v1.json --output google/cloud/compute/v1/compute.v1.json |
||||
echo compute_revision=$(grep -oP '"revision":\s*"\d+"' google/cloud/compute/v1/compute.v1.json | grep -oP '\d+') >> $GITHUB_ENV |
||||
- name: Regenerate API definitions |
||||
run: | |
||||
git config --global --add safe.directory /__w/googleapis/googleapis |
||||
bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gen |
||||
cp bazel-bin/google/cloud/compute/v1/compute_gen.proto google/cloud/compute/v1/compute.proto |
||||
bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_grpc_service_config_gen |
||||
cp bazel-bin/google/cloud/compute/v1/compute_grpc_service_config_gen.json google/cloud/compute/v1/compute_grpc_service_config.json |
||||
bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1:compute_gapic_gen |
||||
cp bazel-bin/google/cloud/compute/v1/compute_gapic_gen.yaml google/cloud/compute/v1/compute_gapic.yaml |
||||
echo api_changes=$(git diff-index --shortstat HEAD) >> $GITHUB_ENV |
||||
- name: Build GAPIC clients |
||||
if: contains(env.api_changes, 'file') |
||||
run: | |
||||
bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/... |
||||
bazelisk build --experimental_convenience_symlinks=normal //google/cloud/compute/v1/... |
||||
- name: Create PR |
||||
uses: googleapis/code-suggester@v2 |
||||
env: |
||||
ACCESS_TOKEN: ${{ secrets.YOSHI_CODE_BOT_TOKEN }} |
||||
with: |
||||
command: pr |
||||
upstream_owner: googleapis |
||||
upstream_repo: googleapis |
||||
title: 'feat: [DIREGAPIC] Update API definitions' |
||||
description: 'feat: Update Compute Engine API to revision ${{ env.compute_revision }}' |
||||
message: 'feat: Update Compute Engine API to revision ${{ env.compute_revision }}' |
||||
primary: 'master' |
||||
branch: diregapic |
||||
git_dir: '.' |
||||
force: true |
||||
fork: true |
@ -1,41 +0,0 @@ |
||||
name: Generate API Index |
||||
on: # yamllint disable-line rule:truthy |
||||
push: |
||||
branches: [master] |
||||
workflow_dispatch: |
||||
jobs: |
||||
build: |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- name: Setup .NET Core SDK |
||||
uses: actions/setup-dotnet@v3 |
||||
- name: Checkout googleapis (this repository) |
||||
uses: actions/checkout@v3 |
||||
with: |
||||
path: googleapis |
||||
- name: Checkout index generator |
||||
uses: actions/checkout@v3 |
||||
with: |
||||
repository: googleapis/googleapis-api-index-generator |
||||
path: gen |
||||
- name: Generate API index |
||||
run: | |
||||
gen/scripts/generate-schema.sh |
||||
gen/scripts/generate-index.sh $PWD/googleapis |
||||
cp gen/tmp/api-index-v1.json $PWD/googleapis |
||||
- name: Create PR |
||||
uses: googleapis/code-suggester@v2 |
||||
env: |
||||
ACCESS_TOKEN: ${{ secrets.YOSHI_CODE_BOT_TOKEN }} |
||||
with: |
||||
command: pr |
||||
upstream_owner: googleapis |
||||
upstream_repo: googleapis |
||||
title: 'chore: regenerate API index' |
||||
description: 'chore: regenerate API index' |
||||
message: 'chore: regenerate API index' |
||||
primary: 'master' |
||||
branch: api-index |
||||
git_dir: 'googleapis/.' |
||||
force: true |
||||
fork: true |
@ -1,8 +0,0 @@ |
||||
OWNERS |
||||
README.google |
||||
google/internal |
||||
google/protobuf |
||||
.project |
||||
artman-genfiles/ |
||||
bazel-* |
||||
.vscode/ |
@ -1,35 +0,0 @@ |
||||
FROM python:3.10.11-bullseye |
||||
|
||||
RUN apt-get update |
||||
|
||||
RUN apt-get install -y \ |
||||
zip \ |
||||
build-essential \ |
||||
python-dev \ |
||||
python3-dev \ |
||||
openjdk-11-jdk \ |
||||
pkg-config \ |
||||
openssl \ |
||||
libcurl4-openssl-dev |
||||
|
||||
RUN mkdir -p /tools |
||||
WORKDIR /tools |
||||
RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.12.0/bazelisk-linux-amd64 -o bazelisk |
||||
RUN chmod +x bazelisk |
||||
RUN curl -L https://github.com/bazelbuild/bazel/releases/download/6.0.0/bazel-6.0.0-linux-x86_64 -o bazel |
||||
RUN chmod +x bazel |
||||
WORKDIR / |
||||
|
||||
ENV PATH="/tools:${PATH}" |
||||
|
||||
ENV BAZELISK_BIN=/tools/bazelisk |
||||
ENV BAZEL_BIN=/tools/bazelisk |
||||
|
||||
RUN apt-get clean |
||||
|
||||
# Ask Bazel to use C++14 by default. |
||||
# Note: Bazel will use this system-wide configuration file and will merge it |
||||
# with other bazelrc file it finds: https://bazel.build/run/bazelrc |
||||
RUN echo 'build --repo_env=BAZEL_CXXOPTS="-std=c++14"' > /etc/bazel.bazelrc |
||||
|
||||
ENTRYPOINT [ "/bin/bash" ] |
@ -1,145 +0,0 @@ |
||||
#!/bin/sh |
||||
|
||||
# This script will build a Docker image for googleapis and recompile |
||||
# PHP and Ruby runtimes binaries to use in GAPIC generators for these |
||||
# languages. |
||||
# |
||||
# Historically, PHP and Ruby keep their compiled runtimes in the generators' |
||||
# repositories: |
||||
# https://github.com/googleapis/gapic-generator-php/tree/main/rules_php_gapic/resources |
||||
# https://github.com/googleapis/gapic-generator-ruby/tree/main/rules_ruby_gapic/prebuilt |
||||
# They are needed to prevent rebuilding of PHP and Ruby runtime (each taking |
||||
# several minutes) every time the build is executed from a clean workspace. |
||||
# |
||||
# Sometimes these binaries need to be updated: they are dynamically linked, |
||||
# and may stop working if some dependency changes in an incompatible way. |
||||
# Use this script to update both the googleapis Docker image, and those |
||||
# binaries. |
||||
# |
||||
# Run from any local working directory where you have write access. |
||||
# |
||||
# Usage: |
||||
# $ mkdir workdir |
||||
# $ cd workdir |
||||
# $ sh /path/to/.kokoro/docker_update.sh |
||||
# |
||||
# After the script completes, it should print out commands to push the new |
||||
# Docker image and to create pull requests against Ruby and PHP generators. |
||||
# Whenever the image is published, tag it in Google Cloud Console, |
||||
# then release new versions of the generators and update the image tag in |
||||
# start.sh scripts in Kokoro folders in all googleapis workspaces. |
||||
|
||||
set -e |
||||
|
||||
PWD="`pwd`" |
||||
SHARED="$PWD/volume" |
||||
SCRIPT=$0 |
||||
DIRNAME=`dirname $SCRIPT` |
||||
|
||||
if test -d "$SHARED"; then |
||||
echo "The working directory $SHARED already exists, please delete it first." |
||||
exit 1 |
||||
fi |
||||
mkdir -p "$SHARED" |
||||
|
||||
# 1. Build the latest Docker image using the Dockerfile from google3 |
||||
|
||||
echo "Using Dockerfile from $DIRNAME" |
||||
cat "$DIRNAME/Dockerfile" > "$PWD/Dockerfile" |
||||
|
||||
echo "Building googleapis Docker image..." |
||||
docker build -t googleapis . |
||||
docker tag googleapis gcr.io/gapic-images/googleapis |
||||
echo "Done." |
||||
|
||||
# 2. Clone Ruby and PHP generators |
||||
cd "$SHARED" |
||||
echo "Cloning Ruby generator..." |
||||
git clone --depth 1 git@github.com:googleapis/gapic-generator-ruby.git |
||||
echo "Done." |
||||
echo "Cloning PHP generator..." |
||||
git clone --depth 1 git@github.com:googleapis/gapic-generator-php.git |
||||
echo "Done." |
||||
|
||||
# 3. Generate a script that would run Bazel to build both generators |
||||
cat > build.sh <<EOD |
||||
#!/bin/sh |
||||
set -e |
||||
export USER="$USER" |
||||
export HOME=/volume |
||||
cd /volume |
||||
cd gapic-generator-ruby |
||||
bazel build //rules_ruby_gapic/gapic-generator:gapic_generator_bundled_context |
||||
cd /volume |
||||
cd gapic-generator-php |
||||
bazel build //rules_php_gapic:php_gapic_generator_binary |
||||
cd .. |
||||
EOD |
||||
chmod +x build.sh |
||||
|
||||
# 4. Execute the script inside Docker image |
||||
echo "Building generators inside Docker..." |
||||
# Note: without --privileged, the container has problems accessing the filesystem. |
||||
# We don't care much about it at this moment. Discussed here: |
||||
# https://forums.docker.com/t/what-capabilities-are-required-for-ls/92223 |
||||
DOCKER_COMMAND="docker run --privileged --user=$UID --workdir=/volume -i --rm -v $SHARED:/volume" |
||||
$DOCKER_COMMAND --entrypoint /volume/build.sh googleapis |
||||
echo "Done." |
||||
|
||||
# Fix permissions of the mounted folder |
||||
chmod -R u+w "$SHARED" |
||||
|
||||
# 5. Pack the resulting Ruby and PHP binaries |
||||
RUBY_DIRECTORY=`ls -d .cache/bazel/*/*/external/gapic_generator_ruby_runtime` |
||||
RUBY_VERSION=`echo 'puts RUBY_VERSION' | $DOCKER_COMMAND --entrypoint "" googleapis /volume/$RUBY_DIRECTORY/bin/ruby` |
||||
|
||||
echo "Ruby version: $RUBY_VERSION, packing..." |
||||
RUBY_ARCHIVE_DIR="ruby-$RUBY_VERSION" |
||||
RUBY_TARBALL_FILENAME="ruby-${RUBY_VERSION}_glinux_x86_64.tar.gz" |
||||
mkdir -p "$RUBY_ARCHIVE_DIR" |
||||
cp -r "$RUBY_DIRECTORY"/bin "$RUBY_DIRECTORY"/include "$RUBY_DIRECTORY"/lib "$RUBY_ARCHIVE_DIR" |
||||
tar cfz "$RUBY_TARBALL_FILENAME" "$RUBY_ARCHIVE_DIR" |
||||
echo "Done: $RUBY_TARBALL_FILENAME" |
||||
|
||||
PHP_DIRECTORY=`ls -d .cache/bazel/*/*/external/php_micro` |
||||
PHP_VERSION=`echo '<? echo phpversion(); ?>' | $DOCKER_COMMAND --entrypoint "" googleapis /volume/$PHP_DIRECTORY/bin/php` |
||||
|
||||
echo "PHP version: $PHP_VERSION, packing..." |
||||
PHP_ARCHIVE_DIR="php-$PHP_VERSION" |
||||
PHP_TARBALL_FILENAME="php-${PHP_VERSION}_linux_x86_64.tar.gz" |
||||
mkdir -p "$PHP_ARCHIVE_DIR" |
||||
cp -r "$PHP_DIRECTORY"/bin "$PHP_DIRECTORY"/include "$PHP_DIRECTORY"/lib "$PHP_ARCHIVE_DIR" |
||||
tar cfz "$PHP_TARBALL_FILENAME" "$PHP_ARCHIVE_DIR" |
||||
echo "Done: $PHP_TARBALL_FILENAME" |
||||
|
||||
# 6. Commit the tarballs |
||||
BRANCH="update-binary-`date +%Y%m%dT%H%M%S`" |
||||
|
||||
RUBY_TARBALL_LOCATION=rules_ruby_gapic/prebuilt |
||||
cd "$SHARED/gapic-generator-ruby" |
||||
git checkout -b "$BRANCH" |
||||
git rm -f "$RUBY_TARBALL_LOCATION"/*.tar.gz |
||||
cp "$SHARED/$RUBY_TARBALL_FILENAME" "$RUBY_TARBALL_LOCATION/" |
||||
git add "$RUBY_TARBALL_LOCATION/$RUBY_TARBALL_FILENAME" |
||||
git commit -m "fix: update Ruby prebuilt binary, version $RUBY_VERSION" |
||||
echo "Pushing Ruby branch to GitHub..." |
||||
git push --set-upstream origin "$BRANCH" |
||||
echo "Done" |
||||
|
||||
PHP_TARBALL_LOCATION=rules_php_gapic/resources |
||||
cd "$SHARED/gapic-generator-php" |
||||
git checkout -b "$BRANCH" |
||||
git rm -f "$PHP_TARBALL_LOCATION"/*.tar.gz |
||||
cp "$SHARED/$PHP_TARBALL_FILENAME" "$PHP_TARBALL_LOCATION/" |
||||
git add "$PHP_TARBALL_LOCATION/$PHP_TARBALL_FILENAME" |
||||
git commit -m "fix: update PHP prebuilt binary, version $PHP_VERSION" |
||||
echo "Pushing PHP branch to GitHub..." |
||||
git push --set-upstream origin "$BRANCH" |
||||
echo "Done" |
||||
|
||||
echo |
||||
echo "Please create pull requests:" |
||||
echo " https://github.com/googleapis/gapic-generator-ruby/pull/new/$BRANCH" |
||||
echo " https://github.com/googleapis/gapic-generator-php/pull/new/$BRANCH" |
||||
echo "and push this Docker image to gcr.io:" |
||||
echo " docker push gcr.io/gapic-images/googleapis" |
@ -1,43 +0,0 @@ |
||||
# Contributor Code of Conduct |
||||
|
||||
As contributors and maintainers of this project, |
||||
and in the interest of fostering an open and welcoming community, |
||||
we pledge to respect all people who contribute through reporting issues, |
||||
posting feature requests, updating documentation, |
||||
submitting pull requests or patches, and other activities. |
||||
|
||||
We are committed to making participation in this project |
||||
a harassment-free experience for everyone, |
||||
regardless of level of experience, gender, gender identity and expression, |
||||
sexual orientation, disability, personal appearance, |
||||
body size, race, ethnicity, age, religion, or nationality. |
||||
|
||||
Examples of unacceptable behavior by participants include: |
||||
|
||||
* The use of sexualized language or imagery |
||||
* Personal attacks |
||||
* Trolling or insulting/derogatory comments |
||||
* Public or private harassment |
||||
* Publishing other's private information, |
||||
such as physical or electronic |
||||
addresses, without explicit permission |
||||
* Other unethical or unprofessional conduct. |
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject |
||||
comments, commits, code, wiki edits, issues, and other contributions |
||||
that are not aligned to this Code of Conduct. |
||||
By adopting this Code of Conduct, |
||||
project maintainers commit themselves to fairly and consistently |
||||
applying these principles to every aspect of managing this project. |
||||
Project maintainers who do not follow or enforce the Code of Conduct |
||||
may be permanently removed from the project team. |
||||
|
||||
This code of conduct applies both within project spaces and in public spaces |
||||
when an individual is representing the project or its community. |
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior |
||||
may be reported by opening an issue |
||||
or contacting one or more of the project maintainers. |
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant](http://contributor-covenant.org), version 1.2.0, |
||||
available at [http://contributor-covenant.org/version/1/2/0/](http://contributor-covenant.org/version/1/2/0/) |
@ -1,28 +0,0 @@ |
||||
# How to contribute |
||||
|
||||
We definitely welcome feedback and contribution to Google APIs! Here |
||||
is some guideline and information about how to do so. |
||||
|
||||
## Legal requirements |
||||
|
||||
In order to protect both you and ourselves, you will need to sign the |
||||
[Contributor License Agreement](https://cla.developers.google.com/clas). |
||||
|
||||
## Technical requirements |
||||
|
||||
You will need several tools to work with this repository. At minimum, |
||||
you need both [Protocol Buffers](https://github.com/google/protobuf) |
||||
and [gRPC](https://github.com/grpc) in order to compile this |
||||
repository and generate client library source code in various |
||||
programming languages. |
||||
|
||||
To compile the generated code into usable client libraries, you will |
||||
need to use appropriate development environments and setup proper |
||||
build configurations. |
||||
|
||||
## Additional note |
||||
|
||||
Currently, the root's Makefile only lets you generate source code for |
||||
the client library in the programming languages supported by |
||||
[gRPC](https://github.com/grpc). It does not generate the ready-to-use |
||||
client libraries yet. |
@ -1,201 +0,0 @@ |
||||
Apache License |
||||
Version 2.0, January 2004 |
||||
http://www.apache.org/licenses/ |
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
||||
|
||||
1. Definitions. |
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction, |
||||
and distribution as defined by Sections 1 through 9 of this document. |
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by |
||||
the copyright owner that is granting the License. |
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all |
||||
other entities that control, are controlled by, or are under common |
||||
control with that entity. For the purposes of this definition, |
||||
"control" means (i) the power, direct or indirect, to cause the |
||||
direction or management of such entity, whether by contract or |
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the |
||||
outstanding shares, or (iii) beneficial ownership of such entity. |
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity |
||||
exercising permissions granted by this License. |
||||
|
||||
"Source" form shall mean the preferred form for making modifications, |
||||
including but not limited to software source code, documentation |
||||
source, and configuration files. |
||||
|
||||
"Object" form shall mean any form resulting from mechanical |
||||
transformation or translation of a Source form, including but |
||||
not limited to compiled object code, generated documentation, |
||||
and conversions to other media types. |
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or |
||||
Object form, made available under the License, as indicated by a |
||||
copyright notice that is included in or attached to the work |
||||
(an example is provided in the Appendix below). |
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object |
||||
form, that is based on (or derived from) the Work and for which the |
||||
editorial revisions, annotations, elaborations, or other modifications |
||||
represent, as a whole, an original work of authorship. For the purposes |
||||
of this License, Derivative Works shall not include works that remain |
||||
separable from, or merely link (or bind by name) to the interfaces of, |
||||
the Work and Derivative Works thereof. |
||||
|
||||
"Contribution" shall mean any work of authorship, including |
||||
the original version of the Work and any modifications or additions |
||||
to that Work or Derivative Works thereof, that is intentionally |
||||
submitted to Licensor for inclusion in the Work by the copyright owner |
||||
or by an individual or Legal Entity authorized to submit on behalf of |
||||
the copyright owner. For the purposes of this definition, "submitted" |
||||
means any form of electronic, verbal, or written communication sent |
||||
to the Licensor or its representatives, including but not limited to |
||||
communication on electronic mailing lists, source code control systems, |
||||
and issue tracking systems that are managed by, or on behalf of, the |
||||
Licensor for the purpose of discussing and improving the Work, but |
||||
excluding communication that is conspicuously marked or otherwise |
||||
designated in writing by the copyright owner as "Not a Contribution." |
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity |
||||
on behalf of whom a Contribution has been received by Licensor and |
||||
subsequently incorporated within the Work. |
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of |
||||
this License, each Contributor hereby grants to You a perpetual, |
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
||||
copyright license to reproduce, prepare Derivative Works of, |
||||
publicly display, publicly perform, sublicense, and distribute the |
||||
Work and such Derivative Works in Source or Object form. |
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of |
||||
this License, each Contributor hereby grants to You a perpetual, |
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
||||
(except as stated in this section) patent license to make, have made, |
||||
use, offer to sell, sell, import, and otherwise transfer the Work, |
||||
where such license applies only to those patent claims licensable |
||||
by such Contributor that are necessarily infringed by their |
||||
Contribution(s) alone or by combination of their Contribution(s) |
||||
with the Work to which such Contribution(s) was submitted. If You |
||||
institute patent litigation against any entity (including a |
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work |
||||
or a Contribution incorporated within the Work constitutes direct |
||||
or contributory patent infringement, then any patent licenses |
||||
granted to You under this License for that Work shall terminate |
||||
as of the date such litigation is filed. |
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the |
||||
Work or Derivative Works thereof in any medium, with or without |
||||
modifications, and in Source or Object form, provided that You |
||||
meet the following conditions: |
||||
|
||||
(a) You must give any other recipients of the Work or |
||||
Derivative Works a copy of this License; and |
||||
|
||||
(b) You must cause any modified files to carry prominent notices |
||||
stating that You changed the files; and |
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works |
||||
that You distribute, all copyright, patent, trademark, and |
||||
attribution notices from the Source form of the Work, |
||||
excluding those notices that do not pertain to any part of |
||||
the Derivative Works; and |
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its |
||||
distribution, then any Derivative Works that You distribute must |
||||
include a readable copy of the attribution notices contained |
||||
within such NOTICE file, excluding those notices that do not |
||||
pertain to any part of the Derivative Works, in at least one |
||||
of the following places: within a NOTICE text file distributed |
||||
as part of the Derivative Works; within the Source form or |
||||
documentation, if provided along with the Derivative Works; or, |
||||
within a display generated by the Derivative Works, if and |
||||
wherever such third-party notices normally appear. The contents |
||||
of the NOTICE file are for informational purposes only and |
||||
do not modify the License. You may add Your own attribution |
||||
notices within Derivative Works that You distribute, alongside |
||||
or as an addendum to the NOTICE text from the Work, provided |
||||
that such additional attribution notices cannot be construed |
||||
as modifying the License. |
||||
|
||||
You may add Your own copyright statement to Your modifications and |
||||
may provide additional or different license terms and conditions |
||||
for use, reproduction, or distribution of Your modifications, or |
||||
for any such Derivative Works as a whole, provided Your use, |
||||
reproduction, and distribution of the Work otherwise complies with |
||||
the conditions stated in this License. |
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise, |
||||
any Contribution intentionally submitted for inclusion in the Work |
||||
by You to the Licensor shall be under the terms and conditions of |
||||
this License, without any additional terms or conditions. |
||||
Notwithstanding the above, nothing herein shall supersede or modify |
||||
the terms of any separate license agreement you may have executed |
||||
with Licensor regarding such Contributions. |
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade |
||||
names, trademarks, service marks, or product names of the Licensor, |
||||
except as required for reasonable and customary use in describing the |
||||
origin of the Work and reproducing the content of the NOTICE file. |
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or |
||||
agreed to in writing, Licensor provides the Work (and each |
||||
Contributor provides its Contributions) on an "AS IS" BASIS, |
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
||||
implied, including, without limitation, any warranties or conditions |
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
||||
PARTICULAR PURPOSE. You are solely responsible for determining the |
||||
appropriateness of using or redistributing the Work and assume any |
||||
risks associated with Your exercise of permissions under this License. |
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory, |
||||
whether in tort (including negligence), contract, or otherwise, |
||||
unless required by applicable law (such as deliberate and grossly |
||||
negligent acts) or agreed to in writing, shall any Contributor be |
||||
liable to You for damages, including any direct, indirect, special, |
||||
incidental, or consequential damages of any character arising as a |
||||
result of this License or out of the use or inability to use the |
||||
Work (including but not limited to damages for loss of goodwill, |
||||
work stoppage, computer failure or malfunction, or any and all |
||||
other commercial damages or losses), even if such Contributor |
||||
has been advised of the possibility of such damages. |
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing |
||||
the Work or Derivative Works thereof, You may choose to offer, |
||||
and charge a fee for, acceptance of support, warranty, indemnity, |
||||
or other liability obligations and/or rights consistent with this |
||||
License. However, in accepting such obligations, You may act only |
||||
on Your own behalf and on Your sole responsibility, not on behalf |
||||
of any other Contributor, and only if You agree to indemnify, |
||||
defend, and hold each Contributor harmless for any liability |
||||
incurred by, or claims asserted against, such Contributor by reason |
||||
of your accepting any such warranty or additional liability. |
||||
|
||||
END OF TERMS AND CONDITIONS |
||||
|
||||
APPENDIX: How to apply the Apache License to your work. |
||||
|
||||
To apply the Apache License to your work, attach the following |
||||
boilerplate notice, with the fields enclosed by brackets "[]" |
||||
replaced with your own identifying information. (Don't include |
||||
the brackets!) The text should be enclosed in the appropriate |
||||
comment syntax for the file format. We also recommend that a |
||||
file or class name and description of purpose be included on the |
||||
same "printed page" as the copyright notice for easier |
||||
identification within third-party archives. |
||||
|
||||
Copyright [yyyy] [name of copyright owner] |
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); |
||||
you may not use this file except in compliance with the License. |
||||
You may obtain a copy of the License at |
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0 |
||||
|
||||
Unless required by applicable law or agreed to in writing, software |
||||
distributed under the License is distributed on an "AS IS" BASIS, |
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
See the License for the specific language governing permissions and |
||||
limitations under the License. |
@ -1,49 +0,0 @@ |
||||
# This is a simple Makefile that generates client library source code
|
||||
# for Google APIs using Protocol Buffers and gRPC for any supported
|
||||
# language. However, it does not compile the generated code into final
|
||||
# libraries that can be directly used with application code.
|
||||
#
|
||||
# Syntax example: make OUTPUT=./output LANGUAGE=java
|
||||
#
|
||||
|
||||
# Choose the output directory
|
||||
OUTPUT ?= ./gens
|
||||
|
||||
# Choose the target language.
|
||||
LANGUAGE ?= cpp
|
||||
|
||||
# Choose grpc plugin
|
||||
GRPCPLUGIN ?= /usr/local/bin/grpc_$(LANGUAGE)_plugin
|
||||
|
||||
# Choose the proto include directory.
|
||||
PROTOINCLUDE ?= /usr/local/include
|
||||
|
||||
# Choose protoc binary
|
||||
PROTOC ?= protoc
|
||||
|
||||
# Compile the entire repository
|
||||
#
|
||||
# NOTE: if "protoc" command is not in the PATH, you need to modify this file.
|
||||
#
|
||||
|
||||
ifeq ($(LANGUAGE),go) |
||||
$(error Go source files are not generated from this repository. See: https://github.com/google/go-genproto) |
||||
endif |
||||
|
||||
FLAGS+= --proto_path=.:$(PROTOINCLUDE)
|
||||
FLAGS+= --$(LANGUAGE)_out=$(OUTPUT) --grpc_out=$(OUTPUT)
|
||||
FLAGS+= --plugin=protoc-gen-grpc=$(GRPCPLUGIN)
|
||||
|
||||
SUFFIX:= pb.cc
|
||||
|
||||
DEPS:= $(shell find google $(PROTOINCLUDE)/google/protobuf -type f -name '*.proto' | sed "s/proto$$/$(SUFFIX)/")
|
||||
|
||||
all: $(DEPS) |
||||
|
||||
%.$(SUFFIX): %.proto |
||||
mkdir -p $(OUTPUT)
|
||||
$(PROTOC) $(FLAGS) $*.proto
|
||||
|
||||
clean: |
||||
rm $(patsubst %,$(OUTPUT)/%,$(DEPS)) 2> /dev/null
|
||||
rm -rd $(OUTPUT)
|
@ -1,80 +0,0 @@ |
||||
# Auto-Generated Packages for Google Cloud Platform |
||||
|
||||
This indexes the gRPC and GAPIC packages delivered to the [Google Cloud |
||||
Platform](https://github.com/GoogleCloudPlatform) teams and where they can be |
||||
found. Currently, package delivery is only being done for Python. |
||||
|
||||
## [Python](https://github.com/GoogleCloudPlatform/gcloud-python) |
||||
|
||||
### Common |
||||
- [GAX core library](https://pypi.python.org/pypi/google-gax) ([source](https://github.com/googleapis/gax-python)) |
||||
- [gRPC for common protos](https://pypi.python.org/pypi/googleapis-common-protos) ([source](https://github.com/googleapis/googleapis)) |
||||
- [Long-running operations](https://github.com/googleapis/googleapis/blob/master/google/longrunning/operations.proto) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-longrunning) |
||||
- gRPC: Part of [gRPC for common protos](https://pypi.python.org/pypi/googleapis-common-protos) |
||||
- Documentation: TBD |
||||
|
||||
### [Cloud Bigtable](https://cloud.google.com/bigtable/) |
||||
- GAPIC: TBD |
||||
- gRPC: TBD |
||||
- Documentation: TBD |
||||
|
||||
### [Cloud Datastore](https://cloud.google.com/datastore/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-datastore-v1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-datastore-v1) |
||||
- Documentation: TBD |
||||
|
||||
### [Cloud Identity and Access Management (IAM)](https://cloud.google.com/iam/) |
||||
- Admin API |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-iam-admin-v1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-iam-admin-v1) |
||||
- Documentation: TBD |
||||
- Policy Mixin (used by Pub/Sub and others) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-iam-v1) |
||||
|
||||
### [Cloud Natural Language](https://cloud.google.com/natural-language/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-language-v1beta1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-language-v1beta1) |
||||
- Documentation: TBD |
||||
|
||||
### [Cloud Pub/Sub](https://cloud.google.com/pubsub/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-pubsub-v1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-pubsub-v1) |
||||
- [Documentation](http://pythonhosted.org/gax-google-pubsub-v1/): |
||||
For old `gax` namespace... will be updated soon for `gapic` namespace. |
||||
|
||||
### [Cloud Speech](https://cloud.google.com/speech/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-speech-v1beta1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-speech-v1beta1) |
||||
- Documentation: TBD |
||||
|
||||
### [Cloud Vision](https://cloud.google.com/vision/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-vision-v1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-vision-v1) |
||||
- [Documentation](http://pythonhosted.org/gax-google-cloud-vision-v1/): |
||||
For old `gax` namespace... will be updated soon for `gapic` namespace. |
||||
|
||||
### [Stackdriver Debugger](https://cloud.google.com/debugger/) |
||||
- GAPIC: TBD |
||||
- gRPC: TBD |
||||
- Documentation: TBD |
||||
|
||||
### [Stackdriver Error Reporting](https://cloud.google.com/error-reporting/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-error-reporting-v1beta1) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-error-reporting-v1beta1) |
||||
- Documentation: TBD |
||||
|
||||
### [Stackdriver Logging](https://cloud.google.com/logging/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-cloud-logging-v2) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-cloud-logging-v2) |
||||
- [Documentation](http://gapic-google-cloud-logging-v2.readthedocs.io) |
||||
|
||||
### [Stackdriver Monitoring](https://cloud.google.com/monitoring/) |
||||
- [GAPIC](https://pypi.python.org/pypi/gapic-google-monitoring-v3) |
||||
- [gRPC](https://pypi.python.org/pypi/grpc-google-monitoring-v3) |
||||
- Documentation: TBD |
||||
|
||||
### [Stackdriver Trace](https://cloud.google.com/trace/) |
||||
- GAPIC: TBD |
||||
- gRPC: TBD |
||||
- Documentation: TBD |
@ -1,7 +0,0 @@ |
||||
# Security Policy |
||||
|
||||
To report a security issue, please use [g.co/vulnz](https://g.co/vulnz). |
||||
|
||||
The Google Security Team will respond within 5 working days of your report on g.co/vulnz. |
||||
|
||||
We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue. |
File diff suppressed because it is too large
Load Diff
@ -1,107 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
# https://github.com/googleapis/gapic-generator/tree/master/rules_gapic/bazel |
||||
|
||||
# Most of the manual changes to this file will be overwritten. |
||||
# It's **only** allowed to change the following rule attribute values: |
||||
# - names of *_gapic_assembly_* rules |
||||
# - certain parameters of *_gapic_library rules, including but not limited to: |
||||
# * extra_protoc_parameters |
||||
# * extra_protoc_file_parameters |
||||
# The complete list of preserved parameters can be found in the source code. |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") |
||||
|
||||
proto_library( |
||||
name = "sdk_proto", |
||||
srcs = [ |
||||
"account_linking.proto", |
||||
"account_linking_secret.proto", |
||||
"action.proto", |
||||
"actions_sdk.proto", |
||||
"actions_testing.proto", |
||||
"config_file.proto", |
||||
"data_file.proto", |
||||
"event_logs.proto", |
||||
"files.proto", |
||||
"localized_settings.proto", |
||||
"manifest.proto", |
||||
"release_channel.proto", |
||||
"settings.proto", |
||||
"surface.proto", |
||||
"theme_customization.proto", |
||||
"validation_results.proto", |
||||
"version.proto", |
||||
"webhook.proto", |
||||
], |
||||
deps = [ |
||||
"//google/actions/sdk/v2/conversation:conversation_proto", |
||||
"//google/actions/sdk/v2/conversation/prompt:prompt_proto", |
||||
"//google/actions/sdk/v2/conversation/prompt/content:content_proto", |
||||
"//google/actions/sdk/v2/interactionmodel:interactionmodel_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/type:type_proto", |
||||
"//google/api:annotations_proto", |
||||
"//google/api:client_proto", |
||||
"//google/api:field_behavior_proto", |
||||
"//google/api:resource_proto", |
||||
"//google/rpc:status_proto", |
||||
"//google/type:latlng_proto", |
||||
"@com_google_protobuf//:empty_proto", |
||||
"@com_google_protobuf//:struct_proto", |
||||
"@com_google_protobuf//:timestamp_proto", |
||||
"@com_google_protobuf//:wrappers_proto", |
||||
], |
||||
) |
||||
|
||||
proto_library_with_info( |
||||
name = "sdk_proto_with_info", |
||||
deps = [ |
||||
":sdk_proto", |
||||
"//google/cloud:common_resources_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"nodejs_gapic_assembly_pkg", |
||||
"nodejs_gapic_library", |
||||
) |
||||
|
||||
nodejs_gapic_library( |
||||
name = "sdk_nodejs_gapic", |
||||
package_name = "@assistant/actions", |
||||
src = ":sdk_proto_with_info", |
||||
extra_protoc_parameters = ["metadata"], |
||||
grpc_service_config = "actions_grpc_service_config.json", |
||||
package = "google.actions.sdk.v2", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "actions_v2.yaml", |
||||
transport = "grpc+rest", |
||||
deps = [], |
||||
) |
||||
|
||||
nodejs_gapic_assembly_pkg( |
||||
name = "actions-v2-nodejs", |
||||
deps = [ |
||||
":sdk_nodejs_gapic", |
||||
":sdk_proto", |
||||
"//google/actions/sdk/v2/conversation:conversation_proto", |
||||
"//google/actions/sdk/v2/conversation/prompt:prompt_proto", |
||||
"//google/actions/sdk/v2/conversation/prompt/content:content_proto", |
||||
"//google/actions/sdk/v2/interactionmodel:interactionmodel_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/type:type_proto", |
||||
], |
||||
) |
@ -1,126 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AccountLinkingProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// AccountLinking allows Google to guide the user to sign-in to the App's web |
||||
// services. |
||||
// |
||||
// For Google Sign In and OAuth + Google Sign In linking types, Google generates |
||||
// a client ID identifying your App to Google ("Client ID issued by Google to |
||||
// your Actions" on Console UI). This field is read-only and can be checked by |
||||
// navigating to the Console UI's Account Linking page. |
||||
// See: https://developers.google.com/assistant/identity/google-sign-in |
||||
// |
||||
// Note: For all account linking setting types (except for Google Sign In), you |
||||
// must provide a username and password for a test account in |
||||
// Settings.testing_instructions for the review team to review the app (they |
||||
// will not be visible to users). |
||||
message AccountLinking { |
||||
// The type of Account Linking to perform. |
||||
enum LinkingType { |
||||
// Unspecified. |
||||
LINKING_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Google Sign In linking type. |
||||
// If using this linking type, no OAuth-related fields need to be set below. |
||||
GOOGLE_SIGN_IN = 1; |
||||
|
||||
// OAuth and Google Sign In linking type. |
||||
OAUTH_AND_GOOGLE_SIGN_IN = 2; |
||||
|
||||
// OAuth linking type. |
||||
OAUTH = 3; |
||||
} |
||||
|
||||
// The OAuth2 grant type Google uses to guide the user to sign in to your |
||||
// App's web service. |
||||
enum AuthGrantType { |
||||
// Unspecified. |
||||
AUTH_GRANT_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Authorization code grant. Requires you to provide both |
||||
// authentication URL and access token URL. |
||||
AUTH_CODE = 1; |
||||
|
||||
// Implicit code grant. Only requires you to provide authentication |
||||
// URL. |
||||
IMPLICIT = 2; |
||||
} |
||||
|
||||
// Required. If `true`, users are allowed to sign up for new accounts via voice. |
||||
// If `false`, account creation is only allowed on your website. Select this |
||||
// option if you want to display your terms of service or obtain user consents |
||||
// during sign-up. |
||||
// linking_type cannot be GOOGLE_SIGN_IN when this is `false`. |
||||
// linking_type cannot be OAUTH when this is `true`. |
||||
bool enable_account_creation = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The linking type to use. |
||||
// See https://developers.google.com/assistant/identity for further details on |
||||
// the linking types. |
||||
LinkingType linking_type = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Indicates the type of authentication for OAUTH linking_type. |
||||
AuthGrantType auth_grant_type = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Client ID issued by your App to Google. |
||||
// This is the OAuth2 Client ID identifying Google to your service. |
||||
// Only set when using OAuth. |
||||
string app_client_id = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Endpoint for your sign-in web page that supports OAuth2 code or |
||||
// implicit flows. |
||||
// URL must use HTTPS. |
||||
// Only set when using OAuth. |
||||
string authorization_url = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. OAuth2 endpoint for token exchange. |
||||
// URL must use HTTPS. |
||||
// This is not set when only using OAuth with IMPLICIT grant as the |
||||
// linking type. |
||||
// Only set when using OAuth. |
||||
string token_url = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. List of permissions the user must consent to in order to use |
||||
// your service. |
||||
// Only set when using OAuth. |
||||
// Make sure to provide a Terms of Service in the directory information in |
||||
// LocalizedSettings.terms_of_service_url section if specifying this field. |
||||
repeated string scopes = 7 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. This is the web page on your service which describes the |
||||
// permissions the user is granting to Google. |
||||
// Only set if using OAuth and Google Sign In. |
||||
// Make sure to provide a Terms of Service in the directory information in |
||||
// LocalizedSettings.terms_of_service_url section if specifying this field. |
||||
string learn_more_url = 8 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If true, allow Google to transmit client ID and secret via HTTP |
||||
// basic auth header. Otherwise, Google uses the client ID and secret inside |
||||
// the post body. |
||||
// Only set when using OAuth. |
||||
// Make sure to provide a Terms of Service in the directory information in |
||||
// LocalizedSettings.terms_of_service_url section if specifying this field. |
||||
bool use_basic_auth_header = 9 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,35 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AccountLinkingSecretProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Information about the encrypted OAuth client secret used in account linking |
||||
// flows (for AUTH_CODE grant type). |
||||
message AccountLinkingSecret { |
||||
// Encrypted account linking client secret ciphertext. |
||||
bytes encrypted_client_secret = 1; |
||||
|
||||
// The version of the crypto key used to encrypt the account linking client |
||||
// secret. |
||||
// Note that this field is ignored in push, preview, and version creation |
||||
// flows. |
||||
string encryption_key_version = 2; |
||||
} |
@ -1,103 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ActionProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Represents the list of Actions defined in a project. |
||||
message Actions { |
||||
// Defines the engagement mechanisms associated with this action. This |
||||
// allows end users to subscribe to push notification and daily update. |
||||
message Engagement { |
||||
// Defines push notification settings that this engagement supports. |
||||
message PushNotification { |
||||
|
||||
} |
||||
|
||||
// Defines daily update settings that this engagement supports. |
||||
message DailyUpdate { |
||||
|
||||
} |
||||
|
||||
// Indicates whether sharing links is enabled for this action and the |
||||
// corresponding settings. Action links are used to deep link a user into a |
||||
// specific action. |
||||
// ActionLink is deprecated. Use AssistantLink instead. |
||||
message ActionLink { |
||||
option deprecated = true; |
||||
|
||||
// User friendly display title for the link. |
||||
string title = 1; |
||||
} |
||||
|
||||
// Indicates whether sharing links is enabled for this action and the |
||||
// corresponding settings. Assistant links are used to deep link a user into |
||||
// a specific action. |
||||
message AssistantLink { |
||||
// User friendly display title for the link. |
||||
string title = 1; |
||||
} |
||||
|
||||
// The title of the engagement that will be sent to end users asking for |
||||
// their permission to receive updates. The prompt sent to end users for |
||||
// daily updates will look like "What time would you like me to send your |
||||
// daily {title}" and for push notifications will look like |
||||
// "Is it ok if I send push notifications for {title}". |
||||
// **This field is localizable.** |
||||
string title = 1; |
||||
|
||||
// Push notification settings that this engagement supports. |
||||
PushNotification push_notification = 2; |
||||
|
||||
// Recurring update settings that this engagement supports. |
||||
oneof recurring_update { |
||||
// Daily update settings that this engagement supports. |
||||
DailyUpdate daily_update = 3; |
||||
} |
||||
|
||||
// Link config for an action which determines whether sharing links is |
||||
// enabled for the action and if so, contains the user friendly display name |
||||
// for the link. |
||||
// ActionLink is deprecated. Use AssistantLink instead. |
||||
ActionLink action_link = 4 [deprecated = true]; |
||||
|
||||
// Link config for an action which determines whether sharing links is |
||||
// enabled for the action and if so, contains the user friendly display name |
||||
// for the link. |
||||
AssistantLink assistant_link = 6; |
||||
} |
||||
|
||||
// Details regarding a custom action. |
||||
message CustomAction { |
||||
// Engagement mechanisms associated with the action to help end users |
||||
// subscribe to push notifications and daily updates. |
||||
// Note that the intent name specified in daily updates/push notifications |
||||
// slot config needs to match the intent corresponding to this action for |
||||
// end users to subscribe to these updates. |
||||
Engagement engagement = 2; |
||||
} |
||||
|
||||
// Map from intents to custom Actions to configure invocation for the project. |
||||
// The invocation intents could either be system or custom intents defined |
||||
// in the "custom/intents/" package. All intents defined here (system |
||||
// intents & custom intents) must have a corresponding intent file in the |
||||
// "custom/global/" package. |
||||
map<string, CustomAction> custom = 3; |
||||
} |
@ -1,16 +0,0 @@ |
||||
{ |
||||
"methodConfig": [{ |
||||
"name": [{ "service": "google.actions.sdk.v2.ActionsSdk" }], |
||||
"timeout": "60s" |
||||
}, |
||||
{ |
||||
"name": [ |
||||
{ "service": "google.actions.sdk.v2.ActionsSdk", "method": "WritePreview" } |
||||
], |
||||
"timeout": "180s" |
||||
}, |
||||
{ |
||||
"name": [{ "service": "google.actions.sdk.v2.ActionsTesting" }], |
||||
"timeout": "60s" |
||||
}] |
||||
} |
@ -1,436 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/account_linking_secret.proto"; |
||||
import "google/actions/sdk/v2/files.proto"; |
||||
import "google/actions/sdk/v2/release_channel.proto"; |
||||
import "google/actions/sdk/v2/validation_results.proto"; |
||||
import "google/actions/sdk/v2/version.proto"; |
||||
import "google/api/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/protobuf/wrappers.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ActionsSdkProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Actions SDK API which allows developers to build projects using the SDK. |
||||
service ActionsSdk { |
||||
option (google.api.default_host) = "actions.googleapis.com"; |
||||
|
||||
// Updates the project draft based on the model. |
||||
rpc WriteDraft(stream WriteDraftRequest) returns (Draft) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{parent=projects/*}/draft:write" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Updates the user's project preview based on the model. |
||||
rpc WritePreview(stream WritePreviewRequest) returns (Preview) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{parent=projects/*}/preview:write" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Creates a project version based on the model and triggers deployment to the |
||||
// specified release channel, if specified. |
||||
rpc CreateVersion(stream CreateVersionRequest) returns (Version) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{parent=projects/*}/versions:create" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Reads the entire content of the project draft. |
||||
rpc ReadDraft(ReadDraftRequest) returns (stream ReadDraftResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{name=projects/*/draft}:read" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Reads the entire content of a project version. |
||||
rpc ReadVersion(ReadVersionRequest) returns (stream ReadVersionResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{name=projects/*/versions/*}:read" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Encrypts the OAuth client secret used in account linking flows. |
||||
// This can be used to encrypt the client secret for the first time (e.g. |
||||
// before the first push or after changing the client secret) or to re-encrypt |
||||
// a client secret using the latest primary key version (considering key |
||||
// rotation). |
||||
rpc EncryptSecret(EncryptSecretRequest) returns (EncryptSecretResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2:encryptSecret" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Decrypts the OAuth client secret used in account linking flows. |
||||
// This can be used to view the client secret (e.g. after pulling a project). |
||||
rpc DecryptSecret(DecryptSecretRequest) returns (DecryptSecretResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2:decryptSecret" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Lists all the sample projects supported by the gactions CLI. |
||||
rpc ListSampleProjects(ListSampleProjectsRequest) returns (ListSampleProjectsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v2/sampleProjects" |
||||
}; |
||||
} |
||||
|
||||
// Lists all release channels and corresponding versions, if any. |
||||
rpc ListReleaseChannels(ListReleaseChannelsRequest) returns (ListReleaseChannelsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v2/{parent=projects/*}/releaseChannels" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// Lists all versions and their current states. |
||||
rpc ListVersions(ListVersionsRequest) returns (ListVersionsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v2/{parent=projects/*}/versions" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
} |
||||
|
||||
// Streaming RPC request for WriteDraft. |
||||
message WriteDraftRequest { |
||||
// Required. The parent resource name in the format `projects/{project}`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "actions.googleapis.com/Draft" |
||||
} |
||||
]; |
||||
|
||||
// Required. List of files sent to the server at a time. This is a list of config files |
||||
// or data files. |
||||
// 1. The first request must be a ConfigFiles. |
||||
// 2. The first request must have a ConfigFile with 'settings'. |
||||
// 3. The first request must have a ConfigFile with 'manifest'. |
||||
// 4. The webhook ConfigFile corresponding to inline cloud function must be |
||||
// streamed before the DataFile corresponding to its source code. |
||||
Files files = 4 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Definition of draft resource. |
||||
message Draft { |
||||
option (google.api.resource) = { |
||||
type: "actions.googleapis.com/Draft" |
||||
pattern: "projects/{project}/draft" |
||||
}; |
||||
|
||||
// The unique identifier of the draft in the following format. |
||||
// `projects/{project}/draft` |
||||
string name = 1; |
||||
|
||||
// Validation results associated with the project draft content. Note that |
||||
// WriteDraft updates the draft despite the warnings as warnings are not draft |
||||
// blocking. |
||||
ValidationResults validation_results = 2; |
||||
} |
||||
|
||||
// Streaming RPC request for WritePreview. |
||||
message WritePreviewRequest { |
||||
// Indicates the preview content will be coming from the Draft. |
||||
message ContentFromDraft { |
||||
|
||||
} |
||||
|
||||
// Indicates the preview content will be coming from an exiting version. |
||||
message ContentFromSubmittedVersion { |
||||
// Required. Submitted version of the project to be used to create a preview. |
||||
// Format: `projects/{project}/versions/{version}` |
||||
string version = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "actions.googleapis.com/Version" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Settings for updating the preview. |
||||
message PreviewSettings { |
||||
// Indicates whether or not to run certain operations, such as transactions, |
||||
// in sandbox mode. By default, preview requests run these operations in |
||||
// sandbox mode. In other words, the default value for `sandbox` is `true`. |
||||
google.protobuf.BoolValue sandbox = 1; |
||||
} |
||||
|
||||
// Required. The parent resource name in the format `projects/{project}`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "actions.googleapis.com/Preview" |
||||
} |
||||
]; |
||||
|
||||
// Data source used to created the preview. |
||||
oneof source { |
||||
// List of files sent to the server at a time. This is a list of config |
||||
// files or data files. |
||||
// 1. The first request must be a ConfigFiles. |
||||
// 2. The first request must have a ConfigFile with 'settings'. |
||||
// 3. The first request must have a ConfigFile with 'manifest'. |
||||
// 4. The webhook ConfigFile corresponding to inline cloud function must be |
||||
// streamed before the DataFile corresponding to its source code. |
||||
Files files = 5; |
||||
|
||||
// Content sourced from the project draft. |
||||
ContentFromDraft draft = 6; |
||||
|
||||
// Content sourced from the an exiting version. |
||||
ContentFromSubmittedVersion submitted_version = 7; |
||||
} |
||||
|
||||
// Required. The settings for updating the user's preview. |
||||
PreviewSettings preview_settings = 4 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Definition of preview resource. |
||||
message Preview { |
||||
option (google.api.resource) = { |
||||
type: "actions.googleapis.com/Preview" |
||||
pattern: "projects/{project}/previews/{preview}" |
||||
}; |
||||
|
||||
// The unique identifier of the preview. |
||||
// Format: `projects/{project}/preview` |
||||
string name = 1; |
||||
|
||||
// Validation results associated with the user project preview content. |
||||
ValidationResults validation_results = 2; |
||||
|
||||
// The simulator URL to test the user preview. |
||||
string simulator_url = 3; |
||||
} |
||||
|
||||
// Streaming RPC request for CreateVersion. |
||||
message CreateVersionRequest { |
||||
// Required. The parent resource name in the format `projects/{project}`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "actions.googleapis.com/Version" |
||||
} |
||||
]; |
||||
|
||||
// Required. List of files sent to the server at a time. This is a list of config files |
||||
// or data files. |
||||
// 1. The first request must be a ConfigFiles. |
||||
// 2. The first request must have a ConfigFile with 'settings'. |
||||
// 3. The first request must have a ConfigFile with 'manifest'. |
||||
// 4. The webhook ConfigFile corresponding to inline cloud function must be |
||||
// streamed before the DataFile corresponding to its source code. |
||||
Files files = 5 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The release channel to deploy the version, if specified. The supported |
||||
// built in release channels are actions.channels.Production, |
||||
// actions.channels.ClosedBeta, actions.channels.Alpha. |
||||
// . |
||||
string release_channel = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// RPC request for ReadDraft. |
||||
message ReadDraftRequest { |
||||
// Required. The name of the resource in the format `projects/{project}/draft`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The version of the crypto key used to encrypt the account linking OAuth |
||||
// client secret. If not specified, the primary key version is used for |
||||
// encryption. Only relevant for projects with account linking with client |
||||
// secret. |
||||
string client_secret_encryption_key_version = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Streaming RPC response for ReadDraft. |
||||
message ReadDraftResponse { |
||||
// List of files sent from the server at a time. |
||||
Files files = 3; |
||||
} |
||||
|
||||
// RPC request for ReadVersion. |
||||
message ReadVersionRequest { |
||||
// Required. The name of the version resource in the format |
||||
// `projects/{project}/versions/{version}`. `{project}` is the |
||||
// cloud project ID associated with the project, `{version}` is the |
||||
// identifier of the version being read. |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The version of the crypto key used to encrypt the account linking OAuth |
||||
// client secret. If not specified, the primary key version is used for |
||||
// encryption. Only relevant for projects with account linking with client |
||||
// secret. |
||||
string client_secret_encryption_key_version = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Streaming RPC response for ReadVersion. |
||||
message ReadVersionResponse { |
||||
// List of files sent from the server at a time. |
||||
Files files = 1; |
||||
} |
||||
|
||||
// RPC request for EncryptSecret. |
||||
message EncryptSecretRequest { |
||||
// Required. The account linking client secret plaintext. |
||||
string client_secret = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// RPC response for EncryptSecret. |
||||
message EncryptSecretResponse { |
||||
// Contains the encrypted account linking client secret and the key version |
||||
// used to encrypt the secret. |
||||
AccountLinkingSecret account_linking_secret = 1; |
||||
} |
||||
|
||||
// RPC request for DecryptSecret. |
||||
message DecryptSecretRequest { |
||||
// Required. The account linking client secret ciphertext. |
||||
bytes encrypted_client_secret = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// RPC response for DecryptSecret. |
||||
message DecryptSecretResponse { |
||||
// The account linking client secret plaintext. |
||||
string client_secret = 1; |
||||
} |
||||
|
||||
// RPC request for ListSampleProjects. |
||||
message ListSampleProjectsRequest { |
||||
// Optional. The maximum number of sample projects to return. The service may return |
||||
// fewer than this value. |
||||
// If unspecified, at most 1000 sample projects will be returned. Values above |
||||
// 1000 will be coerced to 1000. |
||||
int32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A page token, received from a previous 'ListSampleProjects' call. |
||||
// Provide this to retrieve the subsequent page. |
||||
string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// RPC response for ListSampleProjects. |
||||
message ListSampleProjectsResponse { |
||||
// The list of sample projects supported. |
||||
repeated SampleProject sample_projects = 1; |
||||
|
||||
// A token, which can be sent as `page_token` to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// Definition of sample project resource. |
||||
message SampleProject { |
||||
option (google.api.resource) = { |
||||
type: "actions.googleapis.com/SampleProject" |
||||
pattern: "sampleProjects/{sample_project}" |
||||
}; |
||||
|
||||
// The name of the sample project. |
||||
// Format: `sampleProjects/{sample_project}` |
||||
string name = 1; |
||||
|
||||
// The URL to the zip file where the sample is hosted. |
||||
string hosted_url = 2; |
||||
|
||||
// The description of the sample project. |
||||
string description = 3; |
||||
} |
||||
|
||||
// RPC request for listing release channels |
||||
message ListReleaseChannelsRequest { |
||||
// Required. The name of the resource in the format `projects/{project}`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "actions.googleapis.com/ReleaseChannel" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of release channels to return. The service may return |
||||
// fewer than this value. If unspecified, at most 50 release channels will be |
||||
// returned. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous `ListReleaseChannels` call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// When paginating, all other parameters provided to `ListReleaseChannels` |
||||
// must match the call that provided the page token. |
||||
string page_token = 3; |
||||
} |
||||
|
||||
// RPC response for listing release channels |
||||
message ListReleaseChannelsResponse { |
||||
// List of the release channels for the given project id. |
||||
repeated ReleaseChannel release_channels = 1; |
||||
|
||||
// A token, which can be sent as `page_token` to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
||||
|
||||
// RPC request for listing versions |
||||
message ListVersionsRequest { |
||||
// Required. The name of the resource in the format `projects/{project}`. The |
||||
// `{project}` is the cloud project ID associated with the project. |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
child_type: "actions.googleapis.com/Version" |
||||
} |
||||
]; |
||||
|
||||
// The maximum number of versions to return. The service may return |
||||
// fewer than this value. If unspecified, at most 50 versions will be |
||||
// returned. |
||||
int32 page_size = 2; |
||||
|
||||
// A page token, received from a previous `ListVersions` call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// When paginating, all other parameters provided to `ListVersions` |
||||
// must match the call that provided the page token. |
||||
string page_token = 3; |
||||
} |
||||
|
||||
// RPC response for listing versions |
||||
message ListVersionsResponse { |
||||
// List of the versions for the given project id. |
||||
repeated Version versions = 1; |
||||
|
||||
// A token, which can be sent as `page_token` to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
} |
@ -1,256 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/conversation/intent.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; |
||||
import "google/actions/sdk/v2/event_logs.proto"; |
||||
import "google/api/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/protobuf/empty.proto"; |
||||
import "google/type/latlng.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ActionsTestingProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Actions Testing API which allows developers to run automated tests. |
||||
service ActionsTesting { |
||||
option (google.api.default_host) = "actions.googleapis.com"; |
||||
|
||||
// Plays one round of the conversation. |
||||
rpc SendInteraction(SendInteractionRequest) returns (SendInteractionResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{project=projects/*}:sendInteraction" |
||||
body: "*" |
||||
}; |
||||
} |
||||
|
||||
// Finds the intents that match a given query. |
||||
rpc MatchIntents(MatchIntentsRequest) returns (MatchIntentsResponse) { |
||||
option (google.api.http) = { |
||||
post: "/v2/{project=projects/*}:matchIntents" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "project,query,locale"; |
||||
} |
||||
|
||||
// Sets the Web & App Activity control on a service account. |
||||
// |
||||
// It is necessary to have this setting enabled in order to use call Actions. |
||||
// The setting is originally disabled for service accounts, and it is |
||||
// preserved until set to a different value. This means it only needs to be |
||||
// enabled once per account (and not necessarily once per test), unless it is |
||||
// later disabled. |
||||
// |
||||
// Returns an error if the caller is not a service account. User accounts can |
||||
// change this setting via the Activity Controls page. See |
||||
// https://support.google.com/websearch/answer/54068. |
||||
rpc SetWebAndAppActivityControl(SetWebAndAppActivityControlRequest) returns (google.protobuf.Empty) { |
||||
option (google.api.http) = { |
||||
post: "/v2:setWebAndAppActivityControl" |
||||
body: "*" |
||||
}; |
||||
option (google.api.method_signature) = "enabled"; |
||||
} |
||||
} |
||||
|
||||
// Request for playing a round of the conversation. |
||||
message SendInteractionRequest { |
||||
// Required. The project being tested, indicated by the Project ID. |
||||
// Format: projects/{project} |
||||
string project = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Input provided by the user. |
||||
UserInput input = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Properties of the device used for interacting with the Action. |
||||
DeviceProperties device_properties = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Opaque token that must be passed as received from SendInteractionResponse |
||||
// on the previous interaction. This can be left unset in order to start a new |
||||
// conversation, either as the first interaction of a testing session or to |
||||
// abandon a previous conversation and start a new one. |
||||
string conversation_token = 4; |
||||
} |
||||
|
||||
// User input provided on a conversation round. |
||||
message UserInput { |
||||
// Indicates the input source, typed query or voice query. |
||||
enum InputType { |
||||
// Unspecified input source. |
||||
INPUT_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Query from a GUI interaction. |
||||
TOUCH = 1; |
||||
|
||||
// Voice query. |
||||
VOICE = 2; |
||||
|
||||
// Typed query. |
||||
KEYBOARD = 3; |
||||
|
||||
// The action was triggered by a URL link. |
||||
URL = 4; |
||||
} |
||||
|
||||
// Content of the input sent by the user. |
||||
string query = 1; |
||||
|
||||
// Type of the input. |
||||
InputType type = 2; |
||||
} |
||||
|
||||
// Properties of device relevant to a conversation round. |
||||
message DeviceProperties { |
||||
// Possible surfaces used to interact with the Action. |
||||
// Additional values may be included in the future. |
||||
enum Surface { |
||||
// Default value. This value is unused. |
||||
SURFACE_UNSPECIFIED = 0; |
||||
|
||||
// Speaker (e.g. Google Home). |
||||
SPEAKER = 1; |
||||
|
||||
// Phone. |
||||
PHONE = 2; |
||||
|
||||
// Allo Chat. |
||||
ALLO = 3; |
||||
|
||||
// Smart Display Device. |
||||
SMART_DISPLAY = 4; |
||||
|
||||
// KaiOS. |
||||
KAI_OS = 5; |
||||
} |
||||
|
||||
// Surface used for interacting with the Action. |
||||
Surface surface = 1; |
||||
|
||||
// Device location such as latitude, longitude, and formatted address. |
||||
Location location = 2; |
||||
|
||||
// Locale as set on the device. |
||||
// The format should follow BCP 47: https://tools.ietf.org/html/bcp47 |
||||
// Examples: en, en-US, es-419 (more examples at |
||||
// https://tools.ietf.org/html/bcp47#appendix-A). |
||||
string locale = 3; |
||||
|
||||
// Time zone as set on the device. |
||||
// The format should follow the IANA Time Zone Database, e.g. |
||||
// "America/New_York": https://www.iana.org/time-zones |
||||
string time_zone = 4; |
||||
} |
||||
|
||||
// Container that represents a location. |
||||
message Location { |
||||
// Geo coordinates. |
||||
// Requires the [DEVICE_PRECISE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission. |
||||
google.type.LatLng coordinates = 1; |
||||
|
||||
// Display address, e.g., "1600 Amphitheatre Pkwy, Mountain View, CA 94043". |
||||
// Requires the [DEVICE_PRECISE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] permission. |
||||
string formatted_address = 2; |
||||
|
||||
// Zip code. |
||||
// Requires the [DEVICE_PRECISE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or |
||||
// [DEVICE_COARSE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission. |
||||
string zip_code = 3; |
||||
|
||||
// City. |
||||
// Requires the [DEVICE_PRECISE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_PRECISE_LOCATION] or |
||||
// [DEVICE_COARSE_LOCATION] |
||||
// [google.actions.v2.Permission.DEVICE_COARSE_LOCATION] permission. |
||||
string city = 4; |
||||
} |
||||
|
||||
// Response to a round of the conversation. |
||||
message SendInteractionResponse { |
||||
// Output provided to the user. |
||||
Output output = 1; |
||||
|
||||
// Diagnostics information that explains how the request was handled. |
||||
Diagnostics diagnostics = 2; |
||||
|
||||
// Opaque token to be set on SendInteractionRequest on the next RPC call in |
||||
// order to continue the same conversation. |
||||
string conversation_token = 3; |
||||
} |
||||
|
||||
// User-visible output to the conversation round. |
||||
message Output { |
||||
// Spoken response sent to user as a plain string. |
||||
string text = 1; |
||||
|
||||
// Speech content produced by the Action. This may include markup elements |
||||
// such as SSML. |
||||
repeated string speech = 2; |
||||
|
||||
// Interactive Canvas content. |
||||
google.actions.sdk.v2.conversation.Canvas canvas = 3; |
||||
|
||||
// State of the prompt at the end of the conversation round. |
||||
// More information about the prompt: |
||||
// https://developers.google.com/assistant/conversational/prompts |
||||
google.actions.sdk.v2.conversation.Prompt actions_builder_prompt = 4; |
||||
} |
||||
|
||||
// Diagnostics information related to the conversation round. |
||||
message Diagnostics { |
||||
// List of events with details about processing of the conversation round |
||||
// throughout the stages of the Actions Builder interaction model. |
||||
// Populated for Actions Builder & Actions SDK apps only. |
||||
repeated ExecutionEvent actions_builder_events = 1; |
||||
} |
||||
|
||||
// Request for finding matching intents. |
||||
message MatchIntentsRequest { |
||||
// Required. The project being tested, indicated by the Project ID. |
||||
// Format: projects/{project} |
||||
string project = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. User query as plain text. |
||||
string query = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Locale to use to evaluate the query, such as "en". |
||||
// The format should follow BCP 47: https://tools.ietf.org/html/bcp47 |
||||
// See the list of supported languages in |
||||
// https://developers.google.com/assistant/console/languages-locales |
||||
string locale = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Response for finding matching intents. |
||||
message MatchIntentsResponse { |
||||
// Intents matched, ordered from most to least relevant. Only the first |
||||
// 50 matches are returned. |
||||
repeated google.actions.sdk.v2.conversation.Intent matched_intents = 1; |
||||
} |
||||
|
||||
// Request for setting Web & App Activity preferences. |
||||
message SetWebAndAppActivityControlRequest { |
||||
// Whether the setting should be set to an enabled or disabled state. |
||||
bool enabled = 1; |
||||
} |
@ -1,11 +0,0 @@ |
||||
type: google.api.Service |
||||
config_version: 3 |
||||
name: actions.googleapis.com |
||||
title: Actions API |
||||
|
||||
apis: |
||||
- name: google.actions.sdk.v2.ActionsSdk |
||||
- name: google.actions.sdk.v2.ActionsTesting |
||||
|
||||
documentation: |
||||
summary: A RESTful service for the Actions API. |
@ -1,112 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/account_linking_secret.proto"; |
||||
import "google/actions/sdk/v2/action.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/entity_set.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/global_intent_event.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/intent.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/scene.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/type/type.proto"; |
||||
import "google/actions/sdk/v2/manifest.proto"; |
||||
import "google/actions/sdk/v2/settings.proto"; |
||||
import "google/actions/sdk/v2/webhook.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ConfigFileProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Wrapper for repeated config files. Repeated fields cannot exist in a oneof. |
||||
message ConfigFiles { |
||||
// Multiple config files. |
||||
repeated ConfigFile config_files = 1; |
||||
} |
||||
|
||||
// Represents a single file which contains structured data. Developers can |
||||
// define most of their project using structured config including Actions, |
||||
// Settings, Fulfillment. |
||||
message ConfigFile { |
||||
// Relative path of the config file from the project root in the SDK file |
||||
// structure. Each file types below have an allowed file path. |
||||
// Eg: settings/settings.yaml |
||||
string file_path = 1; |
||||
|
||||
// Each type of config file should have a corresponding field in the oneof. |
||||
oneof file { |
||||
// Single manifest file. |
||||
// Allowed file path: `manifest.yaml` |
||||
Manifest manifest = 2; |
||||
|
||||
// Single actions file with all the actions defined. |
||||
// Allowed file paths: `actions/{language}?/actions.yaml` |
||||
Actions actions = 3; |
||||
|
||||
// Single settings config which includes non-localizable settings and |
||||
// settings for the project's default locale (if specified). |
||||
// For a locale override file, only localized_settings field will be |
||||
// populated. |
||||
// Allowed file paths: `settings/{language}?/settings.yaml` |
||||
// Note that the non-localized settings file `settings/settings.yaml` must |
||||
// be present in the write flow requests. |
||||
Settings settings = 4; |
||||
|
||||
// Single webhook definition. |
||||
// Allowed file path: `webhooks/{WebhookName}.yaml` |
||||
Webhook webhook = 6; |
||||
|
||||
// Single intent definition. |
||||
// Allowed file paths: `custom/intents/{language}?/{IntentName}.yaml` |
||||
google.actions.sdk.v2.interactionmodel.Intent intent = 7; |
||||
|
||||
// Single type definition. |
||||
// Allowed file paths: `custom/types/{language}?/{TypeName}.yaml` |
||||
google.actions.sdk.v2.interactionmodel.type.Type type = 8; |
||||
|
||||
// Single entity set definition. |
||||
// Allowed file paths: `custom/entitySets/{language}?/{EntitySetName}.yaml` |
||||
google.actions.sdk.v2.interactionmodel.EntitySet entity_set = 15; |
||||
|
||||
// Single global intent event definition. |
||||
// Allowed file paths: `custom/global/{GlobalIntentEventName}.yaml` |
||||
// The file name (GlobalIntentEventName) should be the name of the intent |
||||
// that this global intent event corresponds to. |
||||
google.actions.sdk.v2.interactionmodel.GlobalIntentEvent global_intent_event = 9; |
||||
|
||||
// Single scene definition. |
||||
// Allowed file paths: `custom/scenes/{SceneName}.yaml` |
||||
google.actions.sdk.v2.interactionmodel.Scene scene = 10; |
||||
|
||||
// Single static prompt definition. |
||||
// Allowed file paths: `custom/prompts/{language}?/{StaticPromptName}.yaml` |
||||
google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 11; |
||||
|
||||
// Metadata corresponding to the client secret used in account linking. |
||||
// Allowed file path: `settings/accountLinkingSecret.yaml` |
||||
AccountLinkingSecret account_linking_secret = 13; |
||||
|
||||
// Single resource bundle, which is a map from a string to a string or list |
||||
// of strings. Resource bundles could be used for localizing strings in |
||||
// static prompts. |
||||
// Allowed file paths: `resources/strings/{language}?/{multiple |
||||
// directories}?/{BundleName}.yaml` |
||||
google.protobuf.Struct resource_bundle = 12; |
||||
} |
||||
} |
@ -1,25 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "conversation_proto", |
||||
srcs = [ |
||||
"intent.proto", |
||||
"scene.proto", |
||||
], |
||||
deps = [ |
||||
"//google/actions/sdk/v2/conversation/prompt:prompt_proto", |
||||
"@com_google_protobuf//:struct_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,52 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IntentProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represents an intent. |
||||
message Intent { |
||||
// Required. The name of the last matched intent. |
||||
string name = 1; |
||||
|
||||
// Required. Represents parameters identified as part of intent matching. |
||||
// This is a map of the name of the identified parameter to the value of the |
||||
// parameter identified from user input. All parameters defined in |
||||
// the matched intent that are identified will be surfaced here. |
||||
map<string, IntentParameterValue> params = 2; |
||||
|
||||
// Optional. Typed or spoken input from the end user that matched this intent. |
||||
// This will be populated when an intent is matched, based on the user input. |
||||
string query = 3; |
||||
} |
||||
|
||||
// Represents a value for intent parameter. |
||||
message IntentParameterValue { |
||||
// Required. Original text value extracted from user utterance. |
||||
string original = 1; |
||||
|
||||
// Required. Structured value for parameter extracted from user input. |
||||
// This will only be populated if the parameter is defined in the matched |
||||
// intent and the value of the parameter could be identified during intent |
||||
// matching. |
||||
google.protobuf.Value resolved = 2; |
||||
} |
@ -1,25 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "prompt_proto", |
||||
srcs = [ |
||||
"prompt.proto", |
||||
"simple.proto", |
||||
"suggestion.proto", |
||||
], |
||||
deps = [ |
||||
"//google/actions/sdk/v2/conversation/prompt/content:content_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,32 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "content_proto", |
||||
srcs = [ |
||||
"canvas.proto", |
||||
"card.proto", |
||||
"collection.proto", |
||||
"content.proto", |
||||
"image.proto", |
||||
"link.proto", |
||||
"list.proto", |
||||
"media.proto", |
||||
"table.proto", |
||||
], |
||||
deps = [ |
||||
"@com_google_protobuf//:duration_proto", |
||||
"@com_google_protobuf//:struct_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,50 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "CanvasProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represents an Interactive Canvas response to be sent to the user. |
||||
// This can be used in conjunction with the "first_simple" field in the |
||||
// containing prompt to speak to the user in addition to displaying a |
||||
// interactive canvas response. The maximum size of the response is 50k bytes. |
||||
message Canvas { |
||||
// URL of the interactive canvas web app to load. If not set, the url from |
||||
// current active canvas will be reused. |
||||
string url = 1; |
||||
|
||||
// Optional. JSON data to be passed through to the immersive experience |
||||
// web page as an event. |
||||
// If the "override" field in the containing prompt is "false" data values |
||||
// defined in this Canvas prompt will be added after data values defined in |
||||
// previous Canvas prompts. |
||||
repeated google.protobuf.Value data = 4; |
||||
|
||||
// Optional. Default value: false. |
||||
bool suppress_mic = 3; |
||||
|
||||
// If `true` the canvas application occupies the full screen and won't |
||||
// have a header at the top. A toast message will also be displayed on the |
||||
// loading screen that includes the Action's display name, the developer's |
||||
// name, and instructions for exiting the Action. Default value: `false`. |
||||
bool enable_full_screen = 8; |
||||
} |
@ -1,51 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "CardProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// A basic card for displaying some information, e.g. an image and/or text. |
||||
message Card { |
||||
// Overall title of the card. |
||||
// Optional. |
||||
string title = 1; |
||||
|
||||
// Optional. |
||||
string subtitle = 2; |
||||
|
||||
// Body text of the card. |
||||
// Supports a limited set of markdown syntax for formatting. |
||||
// Required, unless image is present. |
||||
string text = 3; |
||||
|
||||
// A hero image for the card. The height is fixed to 192dp. |
||||
// Optional. |
||||
Image image = 4; |
||||
|
||||
// How the image background will be filled. Optional. |
||||
Image.ImageFill image_fill = 5; |
||||
|
||||
// Button. |
||||
// Optional. |
||||
Link button = 6; |
||||
} |
@ -1,46 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "CollectionProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// A card for presenting a collection of options to select from. |
||||
message Collection { |
||||
// An item in the collection |
||||
message CollectionItem { |
||||
// Required. The NLU key that matches the entry key name in the associated |
||||
// Type. |
||||
string key = 1; |
||||
} |
||||
|
||||
// Title of the collection. Optional. |
||||
string title = 1; |
||||
|
||||
// Subtitle of the collection. Optional. |
||||
string subtitle = 2; |
||||
|
||||
// min: 2 max: 10 |
||||
repeated CollectionItem items = 3; |
||||
|
||||
// How the image backgrounds of collection items will be filled. Optional. |
||||
Image.ImageFill image_fill = 4; |
||||
} |
@ -1,57 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/card.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/collection.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/list.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/media.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/table.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ContentProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Content to be shown. |
||||
message Content { |
||||
// Content. |
||||
oneof content { |
||||
// A basic card. |
||||
Card card = 1; |
||||
|
||||
// An image. |
||||
Image image = 2; |
||||
|
||||
// Table card. |
||||
Table table = 3; |
||||
|
||||
// Response indicating a set of media to be played. |
||||
Media media = 4; |
||||
|
||||
// A response to be used for interactive canvas experience. |
||||
Canvas canvas = 5 [deprecated = true]; |
||||
|
||||
// A card presenting a collection of options to select from. |
||||
Collection collection = 6; |
||||
|
||||
// A card presenting a list of options to select from. |
||||
List list = 7; |
||||
} |
||||
} |
@ -1,64 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ImageProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// An image displayed in the card. |
||||
message Image { |
||||
// Possible image display options for affecting the presentation of the image. |
||||
// This should be used for when the image's aspect ratio does not match the |
||||
// image container's aspect ratio. |
||||
enum ImageFill { |
||||
// Unspecified image fill. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Fill the gaps between the image and the image container with gray bars. |
||||
GRAY = 1; |
||||
|
||||
// Fill the gaps between the image and the image container with white bars. |
||||
WHITE = 2; |
||||
|
||||
// Image is scaled such that the image width and height match or exceed the |
||||
// container dimensions. This may crop the top and bottom of the image if |
||||
// the scaled image height is greater than the container height, or crop the |
||||
// left and right of the image if the scaled image width is greater than the |
||||
// container width. This is similar to "Zoom Mode" on a widescreen TV when |
||||
// playing a 4:3 video. |
||||
CROPPED = 3; |
||||
} |
||||
|
||||
// The source url of the image. Images can be JPG, PNG and GIF (animated and |
||||
// non-animated). For example,`https://www.agentx.com/logo.png`. Required. |
||||
string url = 1; |
||||
|
||||
// A text description of the image to be used for accessibility, e.g. screen |
||||
// readers. |
||||
// Required. |
||||
string alt = 2; |
||||
|
||||
// The height of the image in pixels. |
||||
// Optional. |
||||
int32 height = 3; |
||||
|
||||
// The width of the image in pixels. |
||||
// Optional. |
||||
int32 width = 4; |
||||
} |
@ -1,51 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "LinkProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Link content. |
||||
message Link { |
||||
// Name of the link |
||||
string name = 1; |
||||
|
||||
// What happens when a user opens the link |
||||
OpenUrl open = 2; |
||||
} |
||||
|
||||
// Action taken when a user opens a link. |
||||
message OpenUrl { |
||||
// The url field which could be any of: |
||||
// - http/https urls for opening an App-linked App or a webpage |
||||
string url = 1; |
||||
|
||||
// Indicates a hint for the url type. |
||||
UrlHint hint = 2; |
||||
} |
||||
|
||||
// Different types of url hints. |
||||
enum UrlHint { |
||||
// Unspecified |
||||
LINK_UNSPECIFIED = 0; |
||||
|
||||
// URL that points directly to AMP content, or to a canonical URL |
||||
// which refers to AMP content via <link rel="amphtml">. |
||||
AMP = 1; |
||||
} |
@ -1,41 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ListProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// A card for presenting a list of options to select from. |
||||
message List { |
||||
// An item in the list |
||||
message ListItem { |
||||
// Required. The NLU key that matches the entry key name in the associated |
||||
// Type. |
||||
string key = 1; |
||||
} |
||||
|
||||
// Title of the list. Optional. |
||||
string title = 1; |
||||
|
||||
// Subtitle of the list. Optional. |
||||
string subtitle = 2; |
||||
|
||||
// min: 2 max: 30 |
||||
repeated ListItem items = 3; |
||||
} |
@ -1,97 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "MediaProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represents one media object. |
||||
// Contains information about the media, such as name, description, url, etc. |
||||
message Media { |
||||
// Media type of this response. |
||||
enum MediaType { |
||||
// Unspecified media type. |
||||
MEDIA_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Audio file. |
||||
AUDIO = 1; |
||||
|
||||
// Response to acknowledge a media status report. |
||||
MEDIA_STATUS_ACK = 2; |
||||
} |
||||
|
||||
// Optional media control types the media response can support |
||||
enum OptionalMediaControls { |
||||
// Unspecified value |
||||
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED = 0; |
||||
|
||||
// Paused event. Triggered when user pauses the media. |
||||
PAUSED = 1; |
||||
|
||||
// Stopped event. Triggered when user exits out of 3p session during media |
||||
// play. |
||||
STOPPED = 2; |
||||
} |
||||
|
||||
// Media type. |
||||
MediaType media_type = 8; |
||||
|
||||
// Start offset of the first media object. |
||||
google.protobuf.Duration start_offset = 5; |
||||
|
||||
// Optional media control types this media response session can support. |
||||
// If set, request will be made to 3p when a certain media event happens. |
||||
// If not set, 3p must still handle two default control type, FINISHED and |
||||
// FAILED. |
||||
repeated OptionalMediaControls optional_media_controls = 6; |
||||
|
||||
// List of Media Objects |
||||
repeated MediaObject media_objects = 7; |
||||
} |
||||
|
||||
// Represents a single media object |
||||
message MediaObject { |
||||
// Name of this media object. |
||||
string name = 1; |
||||
|
||||
// Description of this media object. |
||||
string description = 2; |
||||
|
||||
// The url pointing to the media content. |
||||
string url = 3; |
||||
|
||||
// Image to show with the media card. |
||||
MediaImage image = 4; |
||||
} |
||||
|
||||
// Image to show with the media card. |
||||
message MediaImage { |
||||
// Image. |
||||
oneof image { |
||||
// A large image, such as the cover of the album, etc. |
||||
Image large = 1; |
||||
|
||||
// A small image icon displayed on the right from the title. |
||||
// It's resized to 36x36 dp. |
||||
Image icon = 2; |
||||
} |
||||
} |
@ -1,92 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/image.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TableProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// A table card for displaying a table of text. |
||||
message Table { |
||||
// Overall title of the table. Optional but must be set if subtitle is set. |
||||
string title = 1; |
||||
|
||||
// Subtitle for the table. Optional. |
||||
string subtitle = 2; |
||||
|
||||
// Image associated with the table. Optional. |
||||
Image image = 4; |
||||
|
||||
// Headers and alignment of columns. |
||||
repeated TableColumn columns = 5; |
||||
|
||||
// Row data of the table. The first 3 rows are guaranteed to be shown but |
||||
// others might be cut on certain surfaces. Please test with the simulator to |
||||
// see which rows will be shown for a given surface. On surfaces that support |
||||
// the WEB_BROWSER capability, you can point the user to |
||||
// a web page with more data. |
||||
repeated TableRow rows = 6; |
||||
|
||||
// Button. |
||||
Link button = 7; |
||||
} |
||||
|
||||
// Describes a column in a table. |
||||
message TableColumn { |
||||
// The alignment of the content within the cell. |
||||
enum HorizontalAlignment { |
||||
// Unspecified horizontal alignment. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Leading edge of the cell. This is the default. |
||||
LEADING = 1; |
||||
|
||||
// Content is aligned to the center of the column. |
||||
CENTER = 2; |
||||
|
||||
// Content is aligned to the trailing edge of the column. |
||||
TRAILING = 3; |
||||
} |
||||
|
||||
// Header text for the column. |
||||
string header = 1; |
||||
|
||||
// Horizontal alignment of content w.r.t column. If unspecified, content |
||||
// will be aligned to the leading edge. |
||||
HorizontalAlignment align = 2; |
||||
} |
||||
|
||||
// Describes a cell in a row. |
||||
message TableCell { |
||||
// Text content of the cell. |
||||
string text = 1; |
||||
} |
||||
|
||||
// Describes a row in the table. |
||||
message TableRow { |
||||
// Cells in this row. The first 3 cells are guaranteed to be shown but |
||||
// others might be cut on certain surfaces. Please test with the simulator |
||||
// to see which cells will be shown for a given surface. |
||||
repeated TableCell cells = 1; |
||||
|
||||
// Indicates whether there should be a divider after each row. |
||||
bool divider = 2; |
||||
} |
@ -1,81 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/content/canvas.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/content.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/content/link.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/simple.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/suggestion.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "PromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represent a response to a user. |
||||
message Prompt { |
||||
// Optional. Mode for how this messages should be merged with previously |
||||
// defined messages. |
||||
// "false" will clear all previously defined messages (first and last |
||||
// simple, content, suggestions link and canvas) and add messages defined in |
||||
// this prompt. |
||||
// "true" will add messages defined in this prompt to messages defined in |
||||
// previous responses. Setting this field to "true" will also enable appending |
||||
// to some fields inside Simple prompts, the Suggestion prompt and the Canvas |
||||
// prompt (part of the Content prompt). The Content and Link messages will |
||||
// always be overwritten if defined in the prompt. |
||||
// Default value is "false". |
||||
bool append = 1 [deprecated = true]; |
||||
|
||||
// Optional. Mode for how this messages should be merged with previously |
||||
// defined messages. |
||||
// "true" clears all previously defined messages (first and last |
||||
// simple, content, suggestions link and canvas) and adds messages defined in |
||||
// this prompt. |
||||
// "false" adds messages defined in this prompt to messages defined in |
||||
// previous responses. Leaving this field to "false" also enables |
||||
// appending to some fields inside Simple prompts, the Suggestions prompt, |
||||
// and the Canvas prompt (part of the Content prompt). The Content and Link |
||||
// messages are always overwritten if defined in the prompt. Default |
||||
// value is "false". |
||||
bool override = 8; |
||||
|
||||
// Optional. The first voice and text-only response. |
||||
Simple first_simple = 2; |
||||
|
||||
// Optional. A content like a card, list or media to display to the user. |
||||
Content content = 3; |
||||
|
||||
// Optional. The last voice and text-only response. |
||||
Simple last_simple = 4; |
||||
|
||||
// Optional. Suggestions to be displayed to the user which will always appear |
||||
// at the end of the response. |
||||
// If the "override" field in the containing prompt is "false", the titles |
||||
// defined in this field will be added to titles defined in any previously |
||||
// defined suggestions prompts and duplicate values will be removed. |
||||
repeated Suggestion suggestions = 5; |
||||
|
||||
// Optional. An additional suggestion chip that can link out to the associated app |
||||
// or site. |
||||
// The chip will be rendered with the title "Open <name>". Max 20 chars. |
||||
Link link = 6; |
||||
|
||||
// Optional. Represents a Interactive Canvas response to be sent to the user. |
||||
Canvas canvas = 9; |
||||
} |
@ -1,38 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SimpleProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represents a simple prompt to be send to a user. |
||||
message Simple { |
||||
// Optional. Represents the speech to be spoken to the user. Can be SSML or |
||||
// text to speech. |
||||
// If the "override" field in the containing prompt is "true", the speech |
||||
// defined in this field replaces the previous Simple prompt's speech. |
||||
string speech = 1; |
||||
|
||||
// Optional text to display in the chat bubble. If not given, a display |
||||
// rendering of the speech field above will be used. Limited to 640 |
||||
// chars. |
||||
// If the "override" field in the containing prompt is "true", the text |
||||
// defined in this field replaces to the previous Simple prompt's text. |
||||
string text = 2; |
||||
} |
@ -1,31 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SuggestionProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Input suggestion to be presented to the user. |
||||
message Suggestion { |
||||
// Required. The text shown in the suggestion chip. When tapped, this text will be |
||||
// posted back to the conversation verbatim as if the user had typed it. |
||||
// Each title must be unique among the set of suggestion chips. |
||||
// Max 25 chars |
||||
string title = 1; |
||||
} |
@ -1,92 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.conversation; |
||||
|
||||
import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/conversation;conversation"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SceneProto"; |
||||
option java_package = "com.google.actions.sdk.v2.conversation"; |
||||
|
||||
// Represents the current status of slot filling. |
||||
enum SlotFillingStatus { |
||||
// Fallback value when the usage field is not populated. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// The slots have been initialized but slot filling has not started. |
||||
INITIALIZED = 1; |
||||
|
||||
// The slot values are being collected. |
||||
COLLECTING = 2; |
||||
|
||||
// All slot values are final and cannot be changed. |
||||
FINAL = 4; |
||||
} |
||||
|
||||
// Represents a slot. |
||||
message Slot { |
||||
// Represents the mode of a slot, that is, if it is required or not. |
||||
enum SlotMode { |
||||
// Fallback value when the usage field is not populated. |
||||
MODE_UNSPECIFIED = 0; |
||||
|
||||
// Indicates that the slot is not required to complete slot filling. |
||||
OPTIONAL = 1; |
||||
|
||||
// Indicates that the slot is required to complete slot filling. |
||||
REQUIRED = 2; |
||||
} |
||||
|
||||
// Represents the status of a slot. |
||||
enum SlotStatus { |
||||
// Fallback value when the usage field is not populated. |
||||
SLOT_UNSPECIFIED = 0; |
||||
|
||||
// Indicates that the slot does not have any values. This status cannot be |
||||
// modified through the response. |
||||
EMPTY = 1; |
||||
|
||||
// Indicates that the slot value is invalid. This status can be set |
||||
// through the response. |
||||
INVALID = 2; |
||||
|
||||
// Indicates that the slot has a value. This status cannot be modified |
||||
// through the response. |
||||
FILLED = 3; |
||||
} |
||||
|
||||
// The mode of the slot (required or optional). Can be set by developer. |
||||
SlotMode mode = 1; |
||||
|
||||
// The status of the slot. |
||||
SlotStatus status = 2; |
||||
|
||||
// The value of the slot. Changing this value in the response, will |
||||
// modify the value in slot filling. |
||||
google.protobuf.Value value = 3; |
||||
|
||||
// Indicates if the slot value was collected on the last turn. |
||||
// This field is read-only. |
||||
bool updated = 4; |
||||
|
||||
// Optional. This prompt is sent to the user when needed to fill a required |
||||
// slot. This prompt overrides the existing prompt defined in the console. |
||||
// This field is not included in the webhook request. |
||||
Prompt prompt = 5; |
||||
} |
@ -1,59 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "DataFileProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Wrapper for repeated data file. Repeated fields cannot exist in a oneof. |
||||
message DataFiles { |
||||
// Multiple data files. |
||||
repeated DataFile data_files = 1; |
||||
} |
||||
|
||||
// Represents a single file which contains unstructured data. Examples include |
||||
// image files, audio files, and cloud function source code. |
||||
message DataFile { |
||||
// Relative path of the data file from the project root in the SDK file |
||||
// structure. |
||||
// Allowed file paths: |
||||
// - Images: `resources/images/{multiple |
||||
// directories}?/{ImageName}.{extension}` |
||||
// - Audio: `resources/audio/{multiple |
||||
// directories}?/{AudioFileName}.{extension}` |
||||
// - Inline Cloud Function Code: `webhooks/{WebhookName}.zip` |
||||
// Allowed extensions: |
||||
// - Images: `png`, `jpg`, `jpeg` |
||||
// - Audio: `mp3`, `mpeg` |
||||
// - Inline Cloud Functions: `zip` |
||||
string file_path = 1; |
||||
|
||||
// Required. The content type of this asset. Example: `text/html`. The content |
||||
// type must comply with the specification |
||||
// (http://www.w3.org/Protocols/rfc1341/4_Content-Type.html). |
||||
// Cloud functions must be in zip format and the content type should |
||||
// be `application/zip;zip_type=cloud_function`. The zip_type parameter |
||||
// indicates that the zip is for a cloud function. |
||||
string content_type = 2; |
||||
|
||||
// Content of the data file. Examples would be raw bytes of images, audio |
||||
// files, or cloud function zip format. |
||||
// There is 10 MB strict limit on the payload size. |
||||
bytes payload = 3; |
||||
} |
@ -1,246 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/conversation/intent.proto"; |
||||
import "google/actions/sdk/v2/conversation/prompt/prompt.proto"; |
||||
import "google/actions/sdk/v2/conversation/scene.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
import "google/rpc/status.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EventLogsProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Contains information about execution event which happened during processing |
||||
// Actions Builder conversation request. For an overview of the stages involved |
||||
// in a conversation request, see |
||||
// https://developers.google.com/assistant/conversational/actions. |
||||
message ExecutionEvent { |
||||
// Timestamp when the event happened. |
||||
google.protobuf.Timestamp event_time = 1; |
||||
|
||||
// State of the execution during this event. |
||||
ExecutionState execution_state = 2; |
||||
|
||||
// Resulting status of particular execution step. |
||||
google.rpc.Status status = 3; |
||||
|
||||
// Detailed information specific to different of events that may be involved |
||||
// in processing a conversation round. The field set here defines the type of |
||||
// this event. |
||||
oneof EventData { |
||||
// User input handling event. |
||||
UserConversationInput user_input = 4; |
||||
|
||||
// Intent matching event. |
||||
IntentMatch intent_match = 5; |
||||
|
||||
// Condition evaluation event. |
||||
ConditionsEvaluated conditions_evaluated = 6; |
||||
|
||||
// OnSceneEnter execution event. |
||||
OnSceneEnter on_scene_enter = 7; |
||||
|
||||
// Webhook request dispatch event. |
||||
WebhookRequest webhook_request = 8; |
||||
|
||||
// Webhook response receipt event. |
||||
WebhookResponse webhook_response = 9; |
||||
|
||||
// Webhook-initiated transition event. |
||||
WebhookInitiatedTransition webhook_initiated_transition = 10; |
||||
|
||||
// Slot matching event. |
||||
SlotMatch slot_match = 11; |
||||
|
||||
// Slot requesting event. |
||||
SlotRequested slot_requested = 12; |
||||
|
||||
// Slot validation event. |
||||
SlotValidated slot_validated = 13; |
||||
|
||||
// Form filling event. |
||||
FormFilled form_filled = 14; |
||||
|
||||
// Waiting-for-user-input event. |
||||
WaitingForUserInput waiting_user_input = 15; |
||||
|
||||
// End-of-conversation event. |
||||
EndConversation end_conversation = 16; |
||||
} |
||||
|
||||
// List of warnings generated during execution of this Event. Warnings are |
||||
// tips for the developer discovered during the conversation request. These |
||||
// are usually non-critical and do not halt the execution of the request. For |
||||
// example, a warnings might be generated when webhook tries to override a |
||||
// custom Type which does not exist. Errors are reported as a failed status |
||||
// code, but warnings can be present even when the status is OK. |
||||
repeated string warning_messages = 17; |
||||
} |
||||
|
||||
// Current state of the execution. |
||||
message ExecutionState { |
||||
// ID of the scene which is currently active. |
||||
string current_scene_id = 1; |
||||
|
||||
// State of the session storage: |
||||
// https://developers.google.com/assistant/conversational/storage-session |
||||
google.protobuf.Struct session_storage = 2; |
||||
|
||||
// State of the slots filling, if applicable: |
||||
// https://developers.google.com/assistant/conversational/scenes#slot_filling |
||||
Slots slots = 5; |
||||
|
||||
// Prompt queue: |
||||
// https://developers.google.com/assistant/conversational/prompts |
||||
repeated google.actions.sdk.v2.conversation.Prompt prompt_queue = 7; |
||||
|
||||
// State of the user storage: |
||||
// https://developers.google.com/assistant/conversational/storage-user |
||||
google.protobuf.Struct user_storage = 6; |
||||
|
||||
// State of the home storage: |
||||
// https://developers.google.com/assistant/conversational/storage-home |
||||
google.protobuf.Struct household_storage = 8; |
||||
} |
||||
|
||||
// Represents the current state of a the scene's slots. |
||||
message Slots { |
||||
// The current status of slot filling. |
||||
google.actions.sdk.v2.conversation.SlotFillingStatus status = 2; |
||||
|
||||
// The slots associated with the current scene. |
||||
map<string, google.actions.sdk.v2.conversation.Slot> slots = 3; |
||||
} |
||||
|
||||
// Information related to user input. |
||||
message UserConversationInput { |
||||
// Type of user input. E.g. keyboard, voice, touch, etc. |
||||
string type = 1; |
||||
|
||||
// Original text input from the user. |
||||
string original_query = 2; |
||||
} |
||||
|
||||
// Information about triggered intent match (global or within a scene): |
||||
// https://developers.google.com/assistant/conversational/intents |
||||
message IntentMatch { |
||||
// Intent id which triggered this interaction. |
||||
string intent_id = 1; |
||||
|
||||
// Parameters of intent which triggered this interaction. |
||||
map<string, google.actions.sdk.v2.conversation.IntentParameterValue> intent_parameters = 5; |
||||
|
||||
// Name of the handler attached to this interaction. |
||||
string handler = 3; |
||||
|
||||
// Scene to which this interaction leads to. |
||||
string next_scene_id = 4; |
||||
} |
||||
|
||||
// Results of conditions evaluation: |
||||
// https://developers.google.com/assistant/conversational/scenes#conditions |
||||
message ConditionsEvaluated { |
||||
// List of conditions which were evaluated to 'false'. |
||||
repeated Condition failed_conditions = 1; |
||||
|
||||
// The first condition which was evaluated to 'true', if any. |
||||
Condition success_condition = 2; |
||||
} |
||||
|
||||
// Evaluated condition. |
||||
message Condition { |
||||
// Expression specified in this condition. |
||||
string expression = 1; |
||||
|
||||
// Handler name specified in evaluated condition. |
||||
string handler = 2; |
||||
|
||||
// Destination scene specified in evaluated condition. |
||||
string next_scene_id = 3; |
||||
} |
||||
|
||||
// Information about execution of onSceneEnter stage: |
||||
// https://developers.google.com/assistant/conversational/scenes#on_enter |
||||
message OnSceneEnter { |
||||
// Handler name specified in onSceneEnter event. |
||||
string handler = 1; |
||||
} |
||||
|
||||
// Event triggered by destination scene returned from webhook: |
||||
// https://developers.google.com/assistant/conversational/webhooks#transition_scenes |
||||
message WebhookInitiatedTransition { |
||||
// ID of the scene the transition is leading to. |
||||
string next_scene_id = 1; |
||||
} |
||||
|
||||
// Information about a request dispatched to the Action webhook: |
||||
// https://developers.google.com/assistant/conversational/webhooks#payloads |
||||
message WebhookRequest { |
||||
// Payload of the webhook request. |
||||
string request_json = 1; |
||||
} |
||||
|
||||
// Information about a response received from the Action webhook: |
||||
// https://developers.google.com/assistant/conversational/webhooks#payloads |
||||
message WebhookResponse { |
||||
// Payload of the webhook response. |
||||
string response_json = 1; |
||||
} |
||||
|
||||
// Information about matched slot(s): |
||||
// https://developers.google.com/assistant/conversational/scenes#slot_filling |
||||
message SlotMatch { |
||||
// Parameters extracted by NLU from user input. |
||||
map<string, google.actions.sdk.v2.conversation.IntentParameterValue> nlu_parameters = 2; |
||||
} |
||||
|
||||
// Information about currently requested slot: |
||||
// https://developers.google.com/assistant/conversational/scenes#slot_filling |
||||
message SlotRequested { |
||||
// Name of the requested slot. |
||||
string slot = 1; |
||||
|
||||
// Slot prompt. |
||||
google.actions.sdk.v2.conversation.Prompt prompt = 3; |
||||
} |
||||
|
||||
// Event which happens after webhook validation was finished for slot(s): |
||||
// https://developers.google.com/assistant/conversational/scenes#slot_filling |
||||
message SlotValidated { |
||||
|
||||
} |
||||
|
||||
// Event which happens when form is fully filled: |
||||
// https://developers.google.com/assistant/conversational/scenes#slot_filling |
||||
message FormFilled { |
||||
|
||||
} |
||||
|
||||
// Event which happens when system needs user input: |
||||
// https://developers.google.com/assistant/conversational/scenes#input |
||||
message WaitingForUserInput { |
||||
|
||||
} |
||||
|
||||
// Event which informs that conversation with agent was ended. |
||||
message EndConversation { |
||||
|
||||
} |
@ -1,40 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/config_file.proto"; |
||||
import "google/actions/sdk/v2/data_file.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FilesProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Wrapper for a list of files. |
||||
message Files { |
||||
// Only one type of files can be sent to the server at a time, config files or |
||||
// data files. |
||||
oneof file_type { |
||||
// List of config files. This includes manifest, settings, interaction model |
||||
// resource bundles and more. |
||||
ConfigFiles config_files = 1; |
||||
|
||||
// List of data files. This includes image, audio file, cloud function |
||||
// source code. |
||||
DataFiles data_files = 2; |
||||
} |
||||
} |
@ -1,33 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "interactionmodel_proto", |
||||
srcs = [ |
||||
"conditional_event.proto", |
||||
"entity_set.proto", |
||||
"event_handler.proto", |
||||
"global_intent_event.proto", |
||||
"intent.proto", |
||||
"intent_event.proto", |
||||
"scene.proto", |
||||
"slot.proto", |
||||
], |
||||
deps = [ |
||||
"//google/actions/sdk/v2/interactionmodel/prompt:prompt_proto", |
||||
"//google/actions/sdk/v2/interactionmodel/type:type_proto", |
||||
"//google/api:field_behavior_proto", |
||||
"@com_google_protobuf//:struct_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,55 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ConditionalEventProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Registers events that trigger as the result of a true condition. |
||||
message ConditionalEvent { |
||||
// Required. Filter condition for this event to trigger. If condition is evaluated to |
||||
// true then the associated `handler` will be triggered. |
||||
// The following variable references are supported: |
||||
// `$session` - To reference data in session storage. |
||||
// `$user` - To reference data in user storage. |
||||
// The following boolean operators are supported (with examples): |
||||
// `&&` - `session.params.counter > 0 && session.params.counter < 100` |
||||
// `||` - `session.params.foo == "John" || session.params.counter == "Adam"` |
||||
// `!` - `!(session.params.counter == 5)` |
||||
// The following comparisons are supported: |
||||
// `==`, `!=`, `<`, `>`, `<=`, `>=` |
||||
// The following list and string operators are supported (with examples): |
||||
// `in` - "Watermelon" in `session.params.fruitList` |
||||
// `size` - `size(session.params.fruitList) > 2` |
||||
// `substring` - `session.params.fullName.contains("John")` |
||||
string condition = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Destination scene which the conversation should jump to when the associated |
||||
// condition is evaluated to true. The state of the current scene is destroyed |
||||
// on the transition. |
||||
string transition_to_scene = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Event handler which is triggered when the associated condition is evaluated |
||||
// to `true`. Should execute before transitioning to the destination scene. |
||||
// Useful to generate Prompts in response to events. |
||||
EventHandler handler = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,41 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EntitySetProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Entity sets describe the pre-defined set of entities that the values of |
||||
// built-in intent parameters can come from. Entity sets can be referenced from |
||||
// entity_set in built-in intent parameters. |
||||
message EntitySet { |
||||
// An entity a built-in intent parameter value can come from. |
||||
message Entity { |
||||
// Required. The ID of the entity. |
||||
// For a list of built-in-intent parameters and their supported entities, |
||||
// see |
||||
// https://developers.google.com/assistant/conversational/build/built-in-intents |
||||
string id = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Required. The list of entities this entity set supports. |
||||
repeated Entity entities = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,41 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/static_prompt.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EventHandlerProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Defines a handler to be executed after an event. Examples of events are |
||||
// intent and condition based events in a scene. |
||||
message EventHandler { |
||||
// Name of the webhook handler to call. |
||||
string webhook_handler = 1; |
||||
|
||||
// Prompts can either be inlined or referenced by name. |
||||
oneof prompt { |
||||
// Inlined static prompt. Can contain references to string resources in |
||||
// bundles. |
||||
google.actions.sdk.v2.interactionmodel.prompt.StaticPrompt static_prompt = 2; |
||||
|
||||
// Name of the static prompt to invoke. |
||||
string static_prompt_name = 3; |
||||
} |
||||
} |
@ -1,45 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "GlobalIntentEventProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Defines a global intent handler. Global intent events are scoped to the |
||||
// entire Actions project and may be overridden by intent handlers in a scene. |
||||
// Intent names must be unique within an Actions project. |
||||
// |
||||
// Global intents can be matched anytime during a session, allowing users to |
||||
// access common flows like "get help" or "go back home." They can also be |
||||
// used to deep link users into specific flows when they invoke an Action. |
||||
// |
||||
// Note, the intent name is specified in the name of the file. |
||||
message GlobalIntentEvent { |
||||
// Optional. Destination scene which the conversation should jump to. The state of the |
||||
// current scene is destroyed on the transition. |
||||
string transition_to_scene = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Event handler which is triggered when the intent is matched. Should execute |
||||
// before transitioning to the destination scene. Useful to generate Prompts |
||||
// in response to events. |
||||
EventHandler handler = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,85 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/type/class_reference.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IntentProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Intents map open-ended user input to structured objects. Spoken |
||||
// phrases are matched to intents with Google's Natural Language Understanding |
||||
// (NLU). Intent matches can trigger events in your conversation design to |
||||
// progress the user's conversation. |
||||
// The intent name is specified in the name of the file. |
||||
message Intent { |
||||
// Definition of a parameter which can be used inside training phrases. |
||||
message IntentParameter { |
||||
// Entity set references for an intent parameter. |
||||
message EntitySetReferences { |
||||
// A reference to the set of allowed entities for this intent parameter. |
||||
message EntitySetReference { |
||||
// Required. Identifies the specific collection of entities to be considered for a |
||||
// given parameter. The corresponding entity set definition should be |
||||
// present in the custom/entitySets/ directory. |
||||
string entity_set = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Required. Entity set references for an intent parameter. |
||||
repeated EntitySetReference entity_set_references = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Required. Unique name of the intent parameter. Can be used in conditions and |
||||
// responses to reference intent parameters extracted by NLU with |
||||
// $intent.params.[name].resolved |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The type of the intent parameter. |
||||
oneof parameter_type { |
||||
// Optional. Declares the data type of this parameter. |
||||
// This should not be set for built-in intents. |
||||
google.actions.sdk.v2.interactionmodel.type.ClassReference type = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. References to the sets of allowed entities for this intent parameter. |
||||
// Only valid for parameters of a built-in intent. These |
||||
// references point to entity sets in the 'custom/entitySets' directory. |
||||
EntitySetReferences entity_set_references = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
} |
||||
|
||||
// The list of parameters within the training phrases. All parameters must be |
||||
// defined here to be used in the training phrase. |
||||
repeated IntentParameter parameters = 1; |
||||
|
||||
// Training phrases allow Google’s NLU to automatically match intents with |
||||
// user input. The more unique phrases that are provided, the better chance |
||||
// this intent will be matched. |
||||
// The following is the format of training phrase part which are annotated. |
||||
// Note that `auto` field is optional and the default behavior when `auto` is |
||||
// not specified is equivalent to `auto=false`. |
||||
// `($<paramName> '<sample text>' auto=<true or false>)` |
||||
// `auto = true` means the part was auto annotated by NLU. |
||||
// `auto = false` means the part was annotated by the user. This is the |
||||
// default when auto is not specified. |
||||
// Example: |
||||
// "Book a flight from ($source 'San Francisco' auto=false) to ($dest |
||||
// 'Vancouver')" |
||||
repeated string training_phrases = 2; |
||||
} |
@ -1,40 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "IntentEventProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Registers Events which trigger as the result of an intent match. |
||||
message IntentEvent { |
||||
// Required. Intent triggering the event. |
||||
string intent = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Destination scene which the conversation should jump to. The state of the |
||||
// current scene is destroyed on the transition. |
||||
string transition_to_scene = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Event handler which is triggered when the intent is matched. Should execute |
||||
// before transitioning to the destination scene. Useful to generate prompts |
||||
// in response to events. |
||||
EventHandler handler = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,27 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "prompt_proto", |
||||
srcs = [ |
||||
"static_prompt.proto", |
||||
"static_simple_prompt.proto", |
||||
"suggestion.proto", |
||||
"surface_capabilities.proto", |
||||
], |
||||
deps = [ |
||||
"//google/actions/sdk/v2/interactionmodel/prompt/content:content_proto", |
||||
"//google/api:field_behavior_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,34 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "content_proto", |
||||
srcs = [ |
||||
"static_canvas_prompt.proto", |
||||
"static_card_prompt.proto", |
||||
"static_collection_browse_prompt.proto", |
||||
"static_collection_prompt.proto", |
||||
"static_content_prompt.proto", |
||||
"static_image_prompt.proto", |
||||
"static_link_prompt.proto", |
||||
"static_list_prompt.proto", |
||||
"static_media_prompt.proto", |
||||
"static_table_prompt.proto", |
||||
], |
||||
deps = [ |
||||
"//google/api:field_behavior_proto", |
||||
"@com_google_protobuf//:duration_proto", |
||||
"@com_google_protobuf//:struct_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,54 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticCanvasPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Represents a Interactive Canvas response to be sent to the user. |
||||
// This can be used in conjunction with the `first_simple` field in the |
||||
// containing prompt to speak to the user in addition to displaying a |
||||
// interactive canvas response. |
||||
message StaticCanvasPrompt { |
||||
// Required. URL of the web view to load. |
||||
string url = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. JSON data to be passed through to the immersive experience web page as an |
||||
// event. If the `override` field in the containing prompt is `false` data |
||||
// values defined in this Canvas prompt will be added after data values |
||||
// defined in previous Canvas prompts. |
||||
repeated google.protobuf.Value data = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A true value means that the mic won't be opened for capturing input after |
||||
// this immersive response is presented to the user. |
||||
bool suppress_mic = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If `true`, conversation related metadata is included and send back to the |
||||
// canvas application. |
||||
bool send_state_data_to_canvas_app = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If `true` the canvas application occupies the full screen and won't |
||||
// have a header at the top. A toast message will also be displayed on the |
||||
// loading screen that includes the Action's display name, the developer's |
||||
// name, and instructions for exiting the Action. Default value: `false`. |
||||
bool enable_full_screen = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,48 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticCardPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// A basic card for displaying some information, e.g. an image and/or text. |
||||
message StaticCardPrompt { |
||||
// Optional. Overall title of the card. |
||||
string title = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Subtitle of the card. |
||||
string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. Body text of the card which is needed unless image is present. Supports a |
||||
// limited set of markdown syntax for formatting. |
||||
string text = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. A hero image for the card. The height is fixed to 192dp. |
||||
StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. How the image background will be filled. |
||||
StaticImagePrompt.ImageFill image_fill = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A clickable button to be shown in the Card. |
||||
StaticLinkPrompt button = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,56 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticCollectionBrowsePromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Presents a set of web documents as a collection of large-tile items. Items |
||||
// may be selected to launch their associated web document in a web viewer. |
||||
message StaticCollectionBrowsePrompt { |
||||
// Item in the collection. |
||||
message CollectionBrowseItem { |
||||
// Required. Title of the collection item. |
||||
string title = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Description of the collection item. |
||||
string description = 2; |
||||
|
||||
// Footer text for the collection item, displayed below the description. |
||||
// Single line of text, truncated with an ellipsis. |
||||
string footer = 3; |
||||
|
||||
// Image for the collection item. |
||||
StaticImagePrompt image = 4; |
||||
|
||||
// Required. URI to open if the item selected. |
||||
OpenUrl open_uri_action = 5 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Items in the browse collection. The list size should be in the range [2, |
||||
// 10]. |
||||
repeated CollectionBrowseItem items = 1; |
||||
|
||||
// Image display option for images in the collection. |
||||
StaticImagePrompt.ImageFill image_fill = 2; |
||||
} |
@ -1,59 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticCollectionPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// A card for presenting a collection of options to select from. |
||||
message StaticCollectionPrompt { |
||||
// An item in the collection. |
||||
message CollectionItem { |
||||
// Required. The NLU key that matches the entry key name in the associated |
||||
// Type. When item tapped, this key will be posted back as a select option |
||||
// parameter. |
||||
string key = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Title of the item. When tapped, this text will be |
||||
// posted back to the conversation verbatim as if the user had typed it. |
||||
// Each title must be unique among the set of items. |
||||
string title = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Body text of the item. |
||||
string description = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Item image. |
||||
StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Optional. Title of the collection. |
||||
string title = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Subtitle of the collection. |
||||
string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. Collection items. |
||||
repeated CollectionItem items = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Type of image display option. |
||||
StaticImagePrompt.ImageFill image_fill = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,57 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_card_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_browse_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_collection_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_list_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_media_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_table_prompt.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticContentPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// A placeholder for the Content part of a StaticPrompt. |
||||
message StaticContentPrompt { |
||||
// Only one type of content can be present in a Prompt. |
||||
oneof content { |
||||
// A basic card. |
||||
StaticCardPrompt card = 1; |
||||
|
||||
// An image. |
||||
StaticImagePrompt image = 2; |
||||
|
||||
// Table card. |
||||
StaticTablePrompt table = 3; |
||||
|
||||
// Response indicating a set of media to be played. |
||||
StaticMediaPrompt media = 4; |
||||
|
||||
// A card for presenting a list of options to select from. |
||||
StaticListPrompt list = 5; |
||||
|
||||
// A card presenting a list of options to select from. |
||||
StaticCollectionPrompt collection = 6; |
||||
|
||||
// A card presenting a collection of web pages to open. |
||||
StaticCollectionBrowsePrompt collection_browse = 7; |
||||
} |
||||
} |
@ -1,63 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticImagePromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// An image displayed in the card. |
||||
message StaticImagePrompt { |
||||
// Possible image display options for affecting the presentation of the image. |
||||
// This should be used for when the image's aspect ratio does not match the |
||||
// image container's aspect ratio. |
||||
enum ImageFill { |
||||
// ImageFill unspecified. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Fill the gaps between the image and the image container with gray bars. |
||||
GRAY = 1; |
||||
|
||||
// Fill the gaps between the image and the image container with white bars. |
||||
WHITE = 2; |
||||
|
||||
// Image is scaled such that the image width and height match or exceed the |
||||
// container dimensions. This may crop the top and bottom of the image if |
||||
// the scaled image height is greater than the container height, or crop the |
||||
// left and right of the image if the scaled image width is greater than the |
||||
// container width. This is similar to "Zoom Mode" on a widescreen TV when |
||||
// playing a 4:3 video. |
||||
CROPPED = 3; |
||||
} |
||||
|
||||
// Required. The source url of the image. Images can be JPG, PNG and GIF (animated and |
||||
// non-animated). For example,`https://www.agentx.com/logo.png`. |
||||
string url = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. A text description of the image to be used for accessibility, e.g. screen |
||||
// readers. |
||||
string alt = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The height of the image in pixels. |
||||
int32 height = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The width of the image in pixels. |
||||
int32 width = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,52 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticLinkPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Defines a link which will be displayed as a suggestion chip and can be opened |
||||
// by the user. |
||||
message StaticLinkPrompt { |
||||
// Name of the link |
||||
string name = 1; |
||||
|
||||
// Defines behavior when the user opens the link. |
||||
OpenUrl open = 2; |
||||
} |
||||
|
||||
// Defines behavior when the user opens the link. |
||||
message OpenUrl { |
||||
// The url field which could be any of: |
||||
// - http/https urls for opening an App-linked App or a webpage |
||||
string url = 1; |
||||
|
||||
// Indicates a hint for the url type. |
||||
UrlHint hint = 2; |
||||
} |
||||
|
||||
// Different types of url hints. |
||||
enum UrlHint { |
||||
// Unspecified |
||||
HINT_UNSPECIFIED = 0; |
||||
|
||||
// URL that points directly to AMP content, or to a canonical URL |
||||
// which refers to AMP content via `<link rel="amphtml">`. |
||||
AMP = 1; |
||||
} |
@ -1,55 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticListPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// A card for presenting a list of options to select from. |
||||
message StaticListPrompt { |
||||
// An item in the list. |
||||
message ListItem { |
||||
// Required. The NLU key that matches the entry key name in the associated type. When |
||||
// item tapped, this key will be posted back as a select option parameter. |
||||
string key = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Title of the item. When tapped, this text will be posted back to the |
||||
// conversation verbatim as if the user had typed it. Each title must be |
||||
// unique among the set of items. |
||||
string title = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Body text of the item. |
||||
string description = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Item image. |
||||
StaticImagePrompt image = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Optional. Title of the list. |
||||
string title = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Subtitle of the list. |
||||
string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. List items. |
||||
repeated ListItem items = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,112 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticMediaPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Contains information about the media, such as name, description, url, etc. |
||||
// Next id: 11 |
||||
message StaticMediaPrompt { |
||||
// Media type of this response. |
||||
enum MediaType { |
||||
// UNSPECIFIED value |
||||
MEDIA_TYPE_UNSPECIFIED = 0; |
||||
|
||||
// Audio file. |
||||
AUDIO = 1; |
||||
|
||||
// Response to acknowledge a media status report. |
||||
MEDIA_STATUS_ACK = 2; |
||||
} |
||||
|
||||
// Media control types the media response can supported optionally |
||||
enum OptionalMediaControls { |
||||
// Unspecified value |
||||
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED = 0; |
||||
|
||||
// Paused event. Triggered when user pauses the media. |
||||
PAUSED = 1; |
||||
|
||||
// Stopped event. Triggered when user exit out 3p session during media play. |
||||
STOPPED = 2; |
||||
} |
||||
|
||||
// The types of repeat mode for a list of media objects. |
||||
enum RepeatMode { |
||||
// Equivalent to OFF. |
||||
REPEAT_MODE_UNSPECIFIED = 0; |
||||
|
||||
// End media session at the end of the last media object. |
||||
OFF = 1; |
||||
|
||||
// Loop to the beginning of the first media object when the end of the last |
||||
// media object is reached. |
||||
ALL = 2; |
||||
} |
||||
|
||||
// Media type of this response. |
||||
MediaType media_type = 8; |
||||
|
||||
// Start offset of the first media object. |
||||
google.protobuf.Duration start_offset = 5; |
||||
|
||||
// Optional media control types this media response session can support. |
||||
// If set, request will be made to 3p when a certain media event happens. |
||||
// If not set, 3p must still handle two default control type, FINISHED and |
||||
// FAILED. |
||||
repeated OptionalMediaControls optional_media_controls = 6; |
||||
|
||||
// List of media objects. |
||||
repeated MediaObject media_objects = 7; |
||||
|
||||
// Repeat mode for the list of Media Objects. |
||||
RepeatMode repeat_mode = 9; |
||||
} |
||||
|
||||
// Represents a single media object. |
||||
message MediaObject { |
||||
// Name of this media object. |
||||
string name = 1; |
||||
|
||||
// Description of this media object. |
||||
string description = 2; |
||||
|
||||
// The url pointing to the media content. |
||||
string url = 3; |
||||
|
||||
// Image to show with the media card. |
||||
MediaImage image = 4; |
||||
} |
||||
|
||||
// Image to be shown inside a MediaPrompt. |
||||
message MediaImage { |
||||
// Only one type of MediaImage is allowed. |
||||
oneof image { |
||||
// A large image, such as the cover of the album, etc. |
||||
StaticImagePrompt large = 1; |
||||
|
||||
// A small image icon displayed on the right from the title. |
||||
// It's resized to 36x36 dp. |
||||
StaticImagePrompt icon = 2; |
||||
} |
||||
} |
@ -1,93 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_image_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticTablePromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// A table card for displaying a table of text. |
||||
message StaticTablePrompt { |
||||
// Optional. Overall title of the table. Must be set if subtitle is set. |
||||
string title = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Subtitle for the table. |
||||
string subtitle = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Image associated with the table. |
||||
StaticImagePrompt image = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Headers and alignment of columns. |
||||
repeated TableColumn columns = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Row data of the table. The first 3 rows are guaranteed to be shown but |
||||
// others might be cut on certain surfaces. Please test with the simulator to |
||||
// see which rows will be shown for a given surface. On surfaces that support |
||||
// the `WEB_BROWSER` capability, you can point the user to |
||||
// a web page with more data. |
||||
repeated TableRow rows = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Button. |
||||
StaticLinkPrompt button = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Describes a column in the table. |
||||
message TableColumn { |
||||
// The alignment of the content within the cell. |
||||
enum HorizontalAlignment { |
||||
// HorizontalAlignment unspecified. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Leading edge of the cell. This is the default. |
||||
LEADING = 1; |
||||
|
||||
// Content is aligned to the center of the column. |
||||
CENTER = 2; |
||||
|
||||
// Content is aligned to the trailing edge of the column. |
||||
TRAILING = 3; |
||||
} |
||||
|
||||
// Header text for the column. |
||||
string header = 1; |
||||
|
||||
// Horizontal alignment of content w.r.t column. If unspecified, content |
||||
// will be aligned to the leading edge. |
||||
HorizontalAlignment align = 2; |
||||
} |
||||
|
||||
// Describes a cell in a row. |
||||
message TableCell { |
||||
// Text content of the cell. |
||||
string text = 1; |
||||
} |
||||
|
||||
// Describes a row in the table. |
||||
message TableRow { |
||||
// Cells in this row. The first 3 cells are guaranteed to be shown but |
||||
// others might be cut on certain surfaces. Please test with the simulator |
||||
// to see which cells will be shown for a given surface. |
||||
repeated TableCell cells = 1; |
||||
|
||||
// Indicates whether there should be a divider after each row. |
||||
bool divider = 2; |
||||
} |
@ -1,96 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_canvas_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_content_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/content/static_link_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/static_simple_prompt.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/suggestion.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/prompt/surface_capabilities.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticPromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Represents a list of prompt candidates, one of which will be selected as the |
||||
// prompt to be shown in the response to the user. |
||||
// **This message is localizable.** |
||||
message StaticPrompt { |
||||
// Represents a static prompt candidate. |
||||
message StaticPromptCandidate { |
||||
// Represents structured responses to send to the user, such as text, |
||||
// speech, cards, canvas data, suggestion chips, etc. |
||||
message StaticPromptResponse { |
||||
// Optional. The first voice and text-only response. |
||||
StaticSimplePrompt first_simple = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A content like a card, list or media to display to the user. |
||||
StaticContentPrompt content = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The last voice and text-only response. |
||||
StaticSimplePrompt last_simple = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Suggestions to be displayed to the user which will always |
||||
// appear at the end of the response. If the `append` field in the |
||||
// containing prompt is `true` the titles defined in this field will be |
||||
// added to titles defined in any previously defined suggestions prompts |
||||
// and duplicate values will be removed. |
||||
repeated Suggestion suggestions = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. An additional suggestion chip that can link out to the associated app |
||||
// or site. |
||||
// The chip will be rendered with the title "Open <name>". Max 20 chars. |
||||
StaticLinkPrompt link = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Mode for how this messages should be merged with previously defined |
||||
// messages. |
||||
// `true` will clear all previously defined messages (first and last |
||||
// simple, content, suggestions link and canvas) and add messages defined |
||||
// in this prompt. `false` will add messages defined in this prompt to |
||||
// messages defined in previous responses. Setting this field to `false` |
||||
// will also enable appending to some fields inside Simple prompts, the |
||||
// Suggestions prompt and the Canvas prompt (part of the Content prompt). |
||||
// The Content and Link messages will always be overwritten if defined in |
||||
// the prompt. Default value is `false`. |
||||
bool override = 7 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// A response to be used for interactive canvas experience. |
||||
StaticCanvasPrompt canvas = 8; |
||||
} |
||||
|
||||
// Optional. The criteria for whether this prompt matches a request. If the selector |
||||
// is empty, this prompt will always be triggered. |
||||
Selector selector = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// The prompt response associated with the selector. |
||||
StaticPromptResponse prompt_response = 2; |
||||
} |
||||
|
||||
// Defines the criteria for whether a prompt matches a request. |
||||
message Selector { |
||||
// The set of required surface capabilities. |
||||
SurfaceCapabilities surface_capabilities = 1; |
||||
} |
||||
|
||||
// The list of candidate prompts to be sent to the client. Each prompt has a |
||||
// selector to determine when it can be used. The first selector that matches |
||||
// a request will be sent and the rest will be ignored. |
||||
repeated StaticPromptCandidate candidates = 1; |
||||
} |
@ -1,48 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "StaticSimplePromptProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Represents a simple prompt to be send to a user. |
||||
message StaticSimplePrompt { |
||||
// Represents a variant which is part of the simple prompt. |
||||
message Variant { |
||||
// Optional. Represents the speech to be spoken to the user. Can be SSML or text to |
||||
// speech. |
||||
// By default, speech will be appended to previous Simple prompt's |
||||
// speech. If the `override` field in the containing prompt is `true` the |
||||
// speech defined in this field will override previous Simple prompt's |
||||
// speech. |
||||
string speech = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Text to display in the chat bubble. If not given, a display rendering of |
||||
// the speech field above will be used. Limited to 640 chars. |
||||
// By default, text will be appended to previous Simple prompt's text. |
||||
// If the `override` field in the containing prompt is `true` the text |
||||
// defined in this field will override previous Simple prompt's text. |
||||
string text = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// List of possible variants. |
||||
repeated Variant variants = 1; |
||||
} |
@ -1,33 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SuggestionProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Represents a suggestion chip, a UI element shown to the user for convenience. |
||||
message Suggestion { |
||||
// Required. The text shown in the suggestion chip. When tapped, this text will be |
||||
// posted back to the conversation verbatim as if the user had typed it. |
||||
// Each title must be unique among the set of suggestion chips. |
||||
// Max 25 chars |
||||
string title = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,54 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.prompt; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/prompt;prompt"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SurfaceCapabilitiesProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.prompt"; |
||||
|
||||
// Represents the surface the user is using to make a request to the Action. |
||||
message SurfaceCapabilities { |
||||
// Capabilities the device surface supports at the time of the request. |
||||
enum Capability { |
||||
// Unspecified surface capability. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Device can speak to the user via text-to-speech or SSML. |
||||
SPEECH = 1; |
||||
|
||||
// Device can display rich responses like cards, lists and tables. |
||||
RICH_RESPONSE = 2; |
||||
|
||||
// Device can play long form audio media like music and podcasts. |
||||
LONG_FORM_AUDIO = 3; |
||||
|
||||
// Device can display a interactive canvas response. |
||||
INTERACTIVE_CANVAS = 4; |
||||
|
||||
// Device can use web links in rich responses to open a web browser. |
||||
WEB_LINK = 5; |
||||
|
||||
// Device can support saving and fetching home storage. |
||||
HOME_STORAGE = 6; |
||||
} |
||||
|
||||
// Required. The capabilities of the surface making a request to the Action. |
||||
repeated Capability capabilities = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,60 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/conditional_event.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/intent_event.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/slot.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SceneProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Scene is the basic unit of control flow when designing a conversation. They |
||||
// can be chained together with other scenes, generate prompts for the end user, |
||||
// and define slots. |
||||
// The scene name is specified in the name of the file. |
||||
message Scene { |
||||
// Handler to invoke when transitioning into this scene. |
||||
EventHandler on_enter = 1; |
||||
|
||||
// The list of events that trigger based on intents. These events can |
||||
// be triggered at any time after the on_load Handler has been called. |
||||
// Important - these events define the set of intents which are scoped to |
||||
// this scene and will take precedence over any globally defined events that |
||||
// have the same intents or their triggering phrases. Intent names must be |
||||
// unique within a scene. |
||||
repeated IntentEvent intent_events = 2; |
||||
|
||||
// The list of events to trigger based on conditional statements. These are |
||||
// evaluated after the form has been filled or immediately after on_load if |
||||
// this scene does not have a form (evaluation is only done once). Only the |
||||
// first matching event will be triggered. |
||||
repeated ConditionalEvent conditional_events = 3; |
||||
|
||||
// Ordered list of slots. Each slot defines the type of data |
||||
// that it will resolve and configuration to customize the experience of this |
||||
// resolution (e.g. prompts). |
||||
repeated Slot slots = 4; |
||||
|
||||
// Handler called when there is a change in state of a slot not |
||||
// caused by updates within another Handler. This allows slots to be |
||||
// invalidated, the scene invalidated or other changes to scene state. |
||||
EventHandler on_slot_updated = 5; |
||||
} |
@ -1,133 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/event_handler.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/type/class_reference.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/protobuf/struct.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel;interactionmodel"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SlotProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel"; |
||||
|
||||
// Configuration for a slot. Slots are single units of data that can be filled |
||||
// through natural language (ie. intent parameters), session parameters, and |
||||
// other sources. |
||||
message Slot { |
||||
// A single place where slot prompts are defined. |
||||
message PromptSettings { |
||||
// Prompt for the slot value itself. Example: "What size did you want?" |
||||
EventHandler initial_prompt = 1; |
||||
|
||||
// Prompt to give when the user's input does not match the expected |
||||
// value type for the slot for the first time. Example: "Sorry, I |
||||
// didn't get that." |
||||
EventHandler no_match_prompt1 = 2; |
||||
|
||||
// Prompt to give when the user's input does not match the expected |
||||
// value type for the slot for the second time. Example: "Sorry, I |
||||
// didn't get that." |
||||
EventHandler no_match_prompt2 = 3; |
||||
|
||||
// Prompt to give when the user's input does not match the expected |
||||
// value type for the slot for the last time. Example: "Sorry, I |
||||
// didn't get that." |
||||
EventHandler no_match_final_prompt = 4; |
||||
|
||||
// Prompt to give when the user does not provide an input for the first |
||||
// time. Example: "Sorry, I didn't get that." |
||||
EventHandler no_input_prompt1 = 5; |
||||
|
||||
// Prompt to give when the user does not provide an input for the second |
||||
// time. Example: "Sorry, I didn't get that." |
||||
EventHandler no_input_prompt2 = 6; |
||||
|
||||
// Prompt to give when the user does not provide an input for the last |
||||
// time. Example: "Sorry, I didn't get that." |
||||
EventHandler no_input_final_prompt = 7; |
||||
} |
||||
|
||||
// Message describing the commit behavior associated with the slot after it |
||||
// has been successfully filled. |
||||
message CommitBehavior { |
||||
// The session parameter to write the slot value after it is filled. Note |
||||
// that nested paths are not currently supported. "$$" is used to write the |
||||
// slot value to a session parameter with same name as the slot. |
||||
// Eg: write_session_param = "fruit" corresponds to "$session.params.fruit". |
||||
// write_session_param = "ticket" corresponds to "$session.params.ticket". |
||||
string write_session_param = 1; |
||||
} |
||||
|
||||
// Configuration to populate a default value for this slot. |
||||
message DefaultValue { |
||||
// Optional. The session parameter to be used to initialize the slot value, if it has |
||||
// a non-empty value. The type of the value must match the type of the slot. |
||||
// Note that nested paths are not currently supported. |
||||
// Eg: `session_param = "fruit"` corresponds to `$session.params.fruit`. |
||||
// `session_param = "ticket"` corresponds to `$session.params.ticket`. |
||||
string session_param = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Constant default value for the slot. This will only be used if a value |
||||
// for this slot was not populated through the `session_param`. The |
||||
// type for this value must match the type of the slot. |
||||
google.protobuf.Value constant = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Required. Name of the slot. |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Declares the data type of this slot. |
||||
google.actions.sdk.v2.interactionmodel.type.ClassReference type = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Indicates whether the slot is required to be filled before |
||||
// advancing. Required slots that are not filled will trigger a customizable |
||||
// prompt to the user. |
||||
bool required = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Registers Prompts for different stages of slot filling. |
||||
PromptSettings prompt_settings = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Commit behavior associated with the slot. |
||||
CommitBehavior commit_behavior = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Additional configuration associated with the slot which is |
||||
// used for filling the slot. The format of the config is specific to the |
||||
// type of the slot. Resource references to user or session parameter can be |
||||
// added to this config. This config is needed for filling slots related to |
||||
// transactions and user engagement. |
||||
// |
||||
// Example: |
||||
// For a slot of type actions.type.CompletePurchaseValue, the following |
||||
// config proposes a digital good order with a reference to a client defined |
||||
// session parameter `userSelectedSkuId`: |
||||
// |
||||
// { |
||||
// "@type": "type.googleapis.com/ |
||||
// google.actions.transactions.v3.CompletePurchaseValueSpec", |
||||
// "skuId": { |
||||
// "skuType": "SKU_TYPE_IN_APP", |
||||
// "id": "$session.params.userSelectedSkuId", |
||||
// "packageName": "com.example.company" |
||||
// } |
||||
// } |
||||
google.protobuf.Value config = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Configuration to populate a default value for this slot. |
||||
DefaultValue default_value = 7 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,28 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "type_proto", |
||||
srcs = [ |
||||
"class_reference.proto", |
||||
"entity_display.proto", |
||||
"free_text_type.proto", |
||||
"regular_expression_type.proto", |
||||
"synonym_type.proto", |
||||
"type.proto", |
||||
], |
||||
deps = [ |
||||
"//google/api:field_behavior_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
@ -1,36 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ClassReferenceProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// A reference to a class which is used to declare the type of a field or return |
||||
// value. Enums are also a type of class that can be referenced using |
||||
// ClassReference. |
||||
message ClassReference { |
||||
// Required. Name of a built-in type or custom type of the parameter. Examples: |
||||
// `PizzaToppings`, `actions.type.Number` |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Indicates whether the data type represents a list of values. |
||||
bool list = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,35 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "EntityDisplayProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// Elements that will be displayed on the canvas once a particular type's entity |
||||
// is extracted from a query. Only relevant for canvas enabled apps. |
||||
// **This message is localizable.** |
||||
message EntityDisplay { |
||||
// Optional. Title of the icon. |
||||
string icon_title = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. Url of the icon. |
||||
string icon_url = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,33 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "FreeTextTypeProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// Type that matches any text if surrounding words context is close to provided |
||||
// training examples. |
||||
message FreeTextType { |
||||
// Optional. Elements that will be displayed on the canvas once an entity is extracted |
||||
// from a query. Only relevant for canvas enabled apps. |
||||
EntityDisplay display = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,44 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "RegularExpressionTypeProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// Type that matches text by regular expressions. |
||||
// **This message is localizable.** |
||||
message RegularExpressionType { |
||||
// Represents an entity object that contains the regular expression that is |
||||
// used for comparison. |
||||
message Entity { |
||||
// Optional. Elements that will be displayed on the canvas once an entity is |
||||
// extracted from a query. Only relevant for canvas enabled apps. |
||||
EntityDisplay display = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. Uses RE2 regex syntax (See |
||||
// https://github.com/google/re2/wiki/Syntax for more details) |
||||
repeated string regular_expressions = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// Required. Named map of entities which each contain Regex strings. |
||||
map<string, Entity> entities = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,66 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/type/entity_display.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SynonymTypeProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// Type that matches text by set of synonyms. |
||||
message SynonymType { |
||||
// Represents a synonym entity field that contains the details of a single |
||||
// entry inside the type. |
||||
message Entity { |
||||
// Optional. The entity display details. |
||||
EntityDisplay display = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The list of synonyms for the entity. |
||||
// **This field is localizable.** |
||||
repeated string synonyms = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// The type of matching that entries in this type will use. This will ensure |
||||
// all of the types use the same matching method and allow variation of |
||||
// matching for synonym matching (i.e. fuzzy versus exact). If the value is |
||||
// `UNSPECIFIED` it will be defaulted to `EXACT_MATCH`. |
||||
enum MatchType { |
||||
// Defaults to `EXACT_MATCH`. |
||||
UNSPECIFIED = 0; |
||||
|
||||
// Looks for an exact match of the synonym or name. |
||||
EXACT_MATCH = 1; |
||||
|
||||
// Looser than `EXACT_MATCH`. Looks for similar matches as well as exact |
||||
// matches. |
||||
FUZZY_MATCH = 2; |
||||
} |
||||
|
||||
// Optional. The match type for the synonym. |
||||
MatchType match_type = 1 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. When set to true this will match unknown words or phrases based on |
||||
// surrounding input and intent training data, such as items that might be |
||||
// added to a grocery list. |
||||
bool accept_unknown_values = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. Named map of synonym entities. |
||||
map<string, Entity> entities = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
@ -1,50 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2.interactionmodel.type; |
||||
|
||||
import "google/actions/sdk/v2/interactionmodel/type/free_text_type.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/type/regular_expression_type.proto"; |
||||
import "google/actions/sdk/v2/interactionmodel/type/synonym_type.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2/interactionmodel/type"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "TypeProto"; |
||||
option java_package = "com.google.actions.sdk.v2.interactionmodel.type"; |
||||
|
||||
// Declaration of a custom type, as opposed to built-in types. Types can be |
||||
// assigned to slots in a scene or parameters of an intent's training phrases. |
||||
// Practically, Types can be thought of as enums. |
||||
// Note, type name is specified in the name of the file. |
||||
message Type { |
||||
// Selection of sub type based on the type of matching to be done. |
||||
oneof sub_type { |
||||
// Synonyms type, which is essentially an enum. |
||||
SynonymType synonym = 1; |
||||
|
||||
// Regex type, allows regular expression matching. |
||||
RegularExpressionType regular_expression = 2; |
||||
|
||||
// FreeText type. |
||||
FreeTextType free_text = 3; |
||||
} |
||||
|
||||
// Set of exceptional words/phrases that shouldn't be matched by type. |
||||
// Note: If word/phrase is matched by the type but listed as an exclusion it |
||||
// won't be returned in parameter extraction result. |
||||
// **This field is localizable.** |
||||
repeated string exclusions = 4; |
||||
} |
@ -1,92 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/theme_customization.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "LocalizedSettingsProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Represents settings of an Actions project that are specific to a user locale. |
||||
// In this instance, user means the end user who invokes your Actions. |
||||
// **This message is localizable.** |
||||
message LocalizedSettings { |
||||
// Required. The default display name for this Actions project (if there is no |
||||
// translation available) |
||||
string display_name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The pronunciation of the display name to invoke it within a voice |
||||
// (spoken) context. |
||||
string pronunciation = 2 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The default short description for the Actions project (if there is no |
||||
// translation available). 80 character limit. |
||||
string short_description = 3 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The default long description for the Actions project (if there is no |
||||
// translation available). 4000 character limit. |
||||
string full_description = 4 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. Small square image, 192 x 192 px. |
||||
// This should be specified as a reference to the corresponding image in the |
||||
// `resources/images/` directory. For example, `$resources.images.foo` (without the |
||||
// extension) for image in `resources/images/foo.jpg` |
||||
// When working on a project pulled from Console, the Google-managed URL |
||||
// pulled could be used. URLs from external sources are not allowed. |
||||
string small_logo_image = 5 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Large landscape image, 1920 x 1080 px. |
||||
// This should be specified as a reference to the corresponding image in the |
||||
// `resources/images/` directory. For example, `$resources.images.foo` (without the |
||||
// extension) for image in `resources/images/foo.jpg` |
||||
// When working on a project pulled from Console, the Google-managed URL |
||||
// pulled could be used. URLs from external sources are not allowed. |
||||
string large_banner_image = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. The name of the developer to be displayed to users. |
||||
string developer_name = 7 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The contact email address for the developer. |
||||
string developer_email = 8 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The terms of service URL. |
||||
string terms_of_service_url = 9 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. The Google Assistant voice type that users hear when they interact with |
||||
// your Actions. The supported values are "male_1", "male_2", "female_1", and |
||||
// "female_2". |
||||
string voice = 10 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. The locale for the specified voice. If not specified, this resolves |
||||
// to the user's Assistant locale. If specified, the voice locale must have |
||||
// the same root language as the locale specified in LocalizedSettings. |
||||
string voice_locale = 14 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Required. The privacy policy URL. |
||||
string privacy_policy_url = 11 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Optional. Sample invocation phrases displayed as part of your Actions project's |
||||
// description in the Assistant directory. This will help users learn how to |
||||
// use it. |
||||
repeated string sample_invocations = 12 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Theme customizations for visual components of your Actions. |
||||
ThemeCustomization theme_customization = 13 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
@ -1,30 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ManifestProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Contains information that's "transportable" i.e. not specific to any given |
||||
// project and can be moved between projects. |
||||
message Manifest { |
||||
// Version of the file format. The current file format version is 1.0 |
||||
// Example: "1.0" |
||||
string version = 1; |
||||
} |
@ -1,44 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/api/resource.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ReleaseChannelProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Definition of release channel resource. |
||||
message ReleaseChannel { |
||||
option (google.api.resource) = { |
||||
type: "actions.googleapis.com/ReleaseChannel" |
||||
pattern: "projects/{project}/releaseChannels/{release_channel}" |
||||
}; |
||||
|
||||
// The unique name of the release channel in the following format. |
||||
// `projects/{project}/releaseChannels/{release_channel}`. |
||||
string name = 1; |
||||
|
||||
// Version currently deployed to this release channel in the following format: |
||||
// `projects/{project}/versions/{version}`. |
||||
string current_version = 2; |
||||
|
||||
// Version to be deployed to this release channel in the following format: |
||||
// `projects/{project}/versions/{version}`. |
||||
string pending_version = 3; |
||||
} |
@ -1,186 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/actions/sdk/v2/account_linking.proto"; |
||||
import "google/actions/sdk/v2/localized_settings.proto"; |
||||
import "google/actions/sdk/v2/surface.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SettingsProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Represents settings of an Actions project that are not locale specific. |
||||
message Settings { |
||||
// The category choices for an Actions project. |
||||
enum Category { |
||||
// Unknown / Unspecified. |
||||
CATEGORY_UNSPECIFIED = 0; |
||||
|
||||
// Business and Finance category. |
||||
BUSINESS_AND_FINANCE = 2; |
||||
|
||||
// Education and Reference category. |
||||
EDUCATION_AND_REFERENCE = 3; |
||||
|
||||
// Food and Drink category. |
||||
FOOD_AND_DRINK = 4; |
||||
|
||||
// Games and Trivia category. |
||||
GAMES_AND_TRIVIA = 5; |
||||
|
||||
// Health and Fitness category. |
||||
HEALTH_AND_FITNESS = 6; |
||||
|
||||
// Kids and Family category. |
||||
KIDS_AND_FAMILY = 20; |
||||
|
||||
// Lifestyle category. |
||||
LIFESTYLE = 7; |
||||
|
||||
// Local category. |
||||
LOCAL = 8; |
||||
|
||||
// Movies and TV category. |
||||
MOVIES_AND_TV = 9; |
||||
|
||||
// Music and Audio category. |
||||
MUSIC_AND_AUDIO = 10; |
||||
|
||||
// News category, |
||||
NEWS = 1; |
||||
|
||||
// Novelty and Humor category. |
||||
NOVELTY_AND_HUMOR = 11; |
||||
|
||||
// Productivity category. |
||||
PRODUCTIVITY = 12; |
||||
|
||||
// Shopping category. |
||||
SHOPPING = 13; |
||||
|
||||
// Social category. |
||||
SOCIAL = 14; |
||||
|
||||
// Sports category. |
||||
SPORTS = 15; |
||||
|
||||
// Travel and Transportation category. |
||||
TRAVEL_AND_TRANSPORTATION = 16; |
||||
|
||||
// Utilities category. |
||||
UTILITIES = 17; |
||||
|
||||
// Weather category. |
||||
WEATHER = 18; |
||||
|
||||
// Home Control category. |
||||
HOME_CONTROL = 19; |
||||
} |
||||
|
||||
// Actions project id. |
||||
string project_id = 1; |
||||
|
||||
// Locale which is default for the project. For all files except under |
||||
// `resources/` with no locale in the path, the localized data is attributed |
||||
// to this `default_locale`. For files under `resources/` no locale means that |
||||
// the resource is applicable to all locales. |
||||
string default_locale = 2; |
||||
|
||||
// Represents the regions where users can invoke your Actions, which is |
||||
// based on the user's location of presence. Cannot be set if |
||||
// `disabled_regions` is set. If both `enabled_regions` and `disabled_regions` |
||||
// are not specified, users can invoke your Actions in all regions. Each |
||||
// region is represented using the Canonical Name of Adwords geotargets. See |
||||
// https://developers.google.com/adwords/api/docs/appendix/geotargeting |
||||
// Examples include: |
||||
// - "Germany" |
||||
// - "Ghana" |
||||
// - "Greece" |
||||
// - "Grenada" |
||||
// - "United Kingdom" |
||||
// - "United States" |
||||
// - "United States Minor Outlying Islands" |
||||
// - "Uruguay" |
||||
repeated string enabled_regions = 3; |
||||
|
||||
// Represents the regions where your Actions are blocked, based on the user's |
||||
// location of presence. Cannot be set if `enabled_regions` is set. |
||||
// Each region is represented using the Canonical Name of Adwords geotargets. |
||||
// See https://developers.google.com/adwords/api/docs/appendix/geotargeting |
||||
// Examples include: |
||||
// - "Germany" |
||||
// - "Ghana" |
||||
// - "Greece" |
||||
// - "Grenada" |
||||
// - "United Kingdom" |
||||
// - "United States" |
||||
// - "United States Minor Outlying Islands" |
||||
// - "Uruguay" |
||||
repeated string disabled_regions = 4; |
||||
|
||||
// The category for this Actions project. |
||||
Category category = 5; |
||||
|
||||
// Whether Actions can use transactions (for example, making |
||||
// reservations, taking orders, etc.). If false, then attempts to use the |
||||
// Transactions APIs fail. |
||||
bool uses_transactions_api = 6; |
||||
|
||||
// Whether Actions can perform transactions for digital goods. |
||||
bool uses_digital_purchase_api = 7; |
||||
|
||||
// Whether Actions use Interactive Canvas. |
||||
bool uses_interactive_canvas = 8; |
||||
|
||||
// Whether Actions use the home storage feature. |
||||
bool uses_home_storage = 17; |
||||
|
||||
// Whether Actions content is designed for family (DFF). |
||||
bool designed_for_family = 9; |
||||
|
||||
// Whether Actions contains alcohol or tobacco related content. |
||||
bool contains_alcohol_or_tobacco_content = 11; |
||||
|
||||
// Whether Actions may leave mic open without an explicit prompt during |
||||
// conversation. |
||||
bool keeps_mic_open = 12; |
||||
|
||||
// The surface requirements that a client surface must support to invoke |
||||
// Actions in this project. |
||||
SurfaceRequirements surface_requirements = 13; |
||||
|
||||
// Free-form testing instructions for Actions reviewer (for example, account |
||||
// linking instructions). |
||||
string testing_instructions = 14; |
||||
|
||||
// Localized settings for the project's default locale. Every additional |
||||
// locale should have its own settings file in its own directory. |
||||
LocalizedSettings localized_settings = 15; |
||||
|
||||
// Allow users to create or link accounts through Google sign-in and/or your |
||||
// own OAuth service. |
||||
AccountLinking account_linking = 16; |
||||
|
||||
// Android apps selected to acccess Google Play purchases for transactions. |
||||
// This is a selection from the Android apps connected to the actions project |
||||
// to verify brand ownership and enable additional features. See |
||||
// https://developers.google.com/assistant/console/brand-verification for more |
||||
// information. |
||||
repeated string selected_android_apps = 20; |
||||
} |
@ -1,64 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "SurfaceProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Contains a set of requirements that the client surface must support to invoke |
||||
// Actions in your project. |
||||
message SurfaceRequirements { |
||||
// The minimum set of capabilities needed to invoke the Actions in your |
||||
// project. If the surface is missing any of these, the Action will not be |
||||
// triggered. |
||||
repeated CapabilityRequirement minimum_requirements = 1; |
||||
} |
||||
|
||||
// Represents a requirement about the availability of a given capability. |
||||
message CapabilityRequirement { |
||||
// Possible set of surface capabilities. |
||||
enum SurfaceCapability { |
||||
// Unknown / Unspecified. |
||||
SURFACE_CAPABILITY_UNSPECIFIED = 0; |
||||
|
||||
// Surface supports audio output. |
||||
AUDIO_OUTPUT = 1; |
||||
|
||||
// Surface supports screen/visual output. |
||||
SCREEN_OUTPUT = 2; |
||||
|
||||
// Surface supports media response audio. |
||||
MEDIA_RESPONSE_AUDIO = 3; |
||||
|
||||
// Surface supports web browsers. |
||||
WEB_BROWSER = 4; |
||||
|
||||
// Surface supports account linking. |
||||
ACCOUNT_LINKING = 7; |
||||
|
||||
// Surface supports Interactive Canvas. |
||||
INTERACTIVE_CANVAS = 8; |
||||
|
||||
// Surface supports home storage. |
||||
HOME_STORAGE = 9; |
||||
} |
||||
|
||||
// The type of capability. |
||||
SurfaceCapability capability = 1; |
||||
} |
@ -1,83 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ThemeCustomizationProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Styles applied to cards that are presented to users |
||||
message ThemeCustomization { |
||||
// Describes how the borders of images should be rendered. |
||||
enum ImageCornerStyle { |
||||
// Undefined / Unspecified. |
||||
IMAGE_CORNER_STYLE_UNSPECIFIED = 0; |
||||
|
||||
// Round corner for image. |
||||
CURVED = 1; |
||||
|
||||
// Rectangular corner for image. |
||||
ANGLED = 2; |
||||
} |
||||
|
||||
// Background color of cards. Acts as a fallback if `background_image` is |
||||
// not provided by developers or `background_image` doesn't fit for certain |
||||
// surfaces. |
||||
// Example usage: #FAFAFA |
||||
string background_color = 1; |
||||
|
||||
// Primary theme color of the Action will be used to set text color of title, |
||||
// action item background color for Actions on Google cards. |
||||
// Example usage: #FAFAFA |
||||
string primary_color = 2; |
||||
|
||||
// The font family that will be used for title of cards. |
||||
// Supported fonts: |
||||
// - Sans Serif |
||||
// - Sans Serif Medium |
||||
// - Sans Serif Bold |
||||
// - Sans Serif Black |
||||
// - Sans Serif Condensed |
||||
// - Sans Serif Condensed Medium |
||||
// - Serif |
||||
// - Serif Bold |
||||
// - Monospace |
||||
// - Cursive |
||||
// - Sans Serif Smallcaps |
||||
string font_family = 3; |
||||
|
||||
// Border style of foreground image of cards. For example, can be applied on |
||||
// the foreground image of a basic card or carousel card. |
||||
ImageCornerStyle image_corner_style = 4; |
||||
|
||||
// Landscape mode (minimum 1920x1200 pixels). |
||||
// This should be specified as a reference to the corresponding image in the |
||||
// `resources/images/` directory. Eg: `$resources.images.foo` (without the |
||||
// extension) for image in `resources/images/foo.jpg` |
||||
// When working on a project pulled from Console the Google managed url pulled |
||||
// could be used. |
||||
string landscape_background_image = 5; |
||||
|
||||
// Portrait mode (minimum 1200x1920 pixels). |
||||
// This should be specified as a reference to the corresponding image in the |
||||
// `resources/images/` directory. Eg: `$resources.images.foo` (without the |
||||
// extension) for image in `resources/images/foo.jpg` |
||||
// When working on a project pulled from Console the Google managed url pulled |
||||
// could be used. |
||||
string portrait_background_image = 6; |
||||
} |
@ -1,46 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "ValidationResultsProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Wrapper for repeated validation result. |
||||
message ValidationResults { |
||||
// Multiple validation results. |
||||
repeated ValidationResult results = 1; |
||||
} |
||||
|
||||
// Represents a validation result associated with the app content. |
||||
message ValidationResult { |
||||
// Context to identify the resource the validation message relates to. |
||||
message ValidationContext { |
||||
// Language code of the lozalized resource. |
||||
// Empty if the error is for non-localized resource. |
||||
// See the list of supported languages in |
||||
// https://developers.google.com/assistant/console/languages-locales |
||||
string language_code = 1; |
||||
} |
||||
|
||||
// Holds the validation message. |
||||
string validation_message = 1; |
||||
|
||||
// Context to identify the resource the validation message relates to. |
||||
ValidationContext validation_context = 2; |
||||
} |
@ -1,91 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/api/resource.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "VersionProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Definition of version resource. |
||||
message Version { |
||||
option (google.api.resource) = { |
||||
type: "actions.googleapis.com/Version" |
||||
pattern: "projects/{project}/versions/{version}" |
||||
}; |
||||
|
||||
// Represents the current state of the version. |
||||
message VersionState { |
||||
// Enum indicating the states that a Version can take. This enum is not yet |
||||
// frozen and values maybe added later. |
||||
enum State { |
||||
// Default value of State. |
||||
STATE_UNSPECIFIED = 0; |
||||
|
||||
// The version creation is in progress. |
||||
CREATION_IN_PROGRESS = 1; |
||||
|
||||
// The version creation failed. |
||||
CREATION_FAILED = 2; |
||||
|
||||
// The version has been successfully created. |
||||
CREATED = 3; |
||||
|
||||
// The version is under policy review (aka Approval). |
||||
REVIEW_IN_PROGRESS = 4; |
||||
|
||||
// The version has been approved for policy review and can be deployed. |
||||
APPROVED = 5; |
||||
|
||||
// The version has been conditionally approved but is pending final |
||||
// review. It may be rolled back if final review is denied. |
||||
CONDITIONALLY_APPROVED = 6; |
||||
|
||||
// The version has been denied for policy review. |
||||
DENIED = 7; |
||||
|
||||
// The version is taken down as entire agent and all versions are taken |
||||
// down. |
||||
UNDER_TAKEDOWN = 8; |
||||
|
||||
// The version has been deleted. |
||||
DELETED = 9; |
||||
} |
||||
|
||||
// The current state of the version. |
||||
State state = 1; |
||||
|
||||
// User-friendly message for the current state of the version. |
||||
string message = 2; |
||||
} |
||||
|
||||
// The unique identifier of the version in the following format. |
||||
// `projects/{project}/versions/{version}`. |
||||
string name = 1; |
||||
|
||||
// The current state of the version. |
||||
VersionState version_state = 2; |
||||
|
||||
// Email of the user who created this version. |
||||
string creator = 3; |
||||
|
||||
// Timestamp of the last change to this version. |
||||
google.protobuf.Timestamp update_time = 4; |
||||
} |
@ -1,82 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.sdk.v2; |
||||
|
||||
import "google/api/field_behavior.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/actions/sdk/v2;sdk"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "WebhookProto"; |
||||
option java_package = "com.google.actions.sdk.v2"; |
||||
|
||||
// Metadata for different types of webhooks. If you're using |
||||
// `inlineCloudFunction`, your source code must be in a directory with the same |
||||
// name as the value for the `executeFunction` key. |
||||
// For example, a value of `my_webhook` for the`executeFunction` key would have |
||||
// a code structure like this: |
||||
// - `/webhooks/my_webhook.yaml` |
||||
// - `/webhooks/my_webhook/index.js` |
||||
// - `/webhooks/my_webhook/package.json` |
||||
message Webhook { |
||||
// Declares the name of the webhoook handler. A webhook can have |
||||
// multiple handlers registered. These handlers can be called from multiple |
||||
// places in your Actions project. |
||||
message Handler { |
||||
// Required. Name of the handler. Must be unique across all handlers the Actions |
||||
// project. You can check the name of this handler to invoke the correct |
||||
// function in your fulfillment source code. |
||||
string name = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
} |
||||
|
||||
// REST endpoint to notify if you're not using the inline editor. |
||||
message HttpsEndpoint { |
||||
// The HTTPS base URL for your fulfillment endpoint (HTTP is not supported). |
||||
// Handler names are appended to the base URL path after a colon |
||||
// (following the style guide in |
||||
// https://cloud.google.com/apis/design/custom_methods). |
||||
// For example a base URL of 'https://gactions.service.com/api' would |
||||
// receive requests with URL 'https://gactions.service.com/api:{method}'. |
||||
string base_url = 1; |
||||
|
||||
// Map of HTTP parameters to be included in the POST request. |
||||
map<string, string> http_headers = 2; |
||||
|
||||
// Version of the protocol used by the endpoint. This is the protocol shared |
||||
// by all fulfillment types and not specific to Google fulfillment type. |
||||
int32 endpoint_api_version = 3; |
||||
} |
||||
|
||||
// Holds the metadata of an inline Cloud Function deployed from the |
||||
// webhooks folder. |
||||
message InlineCloudFunction { |
||||
// The name of the Cloud Function entry point. The value of this field |
||||
// should match the name of the method exported from the source code. |
||||
string execute_function = 1; |
||||
} |
||||
|
||||
// List of handlers for this webhook. |
||||
repeated Handler handlers = 1; |
||||
|
||||
// Only one webhook type is supported. |
||||
oneof webhook_type { |
||||
// Custom webhook HTTPS endpoint. |
||||
HttpsEndpoint https_endpoint = 2; |
||||
|
||||
// Metadata for cloud function deployed from code in the webhooks folder. |
||||
InlineCloudFunction inline_cloud_function = 3; |
||||
} |
||||
} |
@ -1,164 +0,0 @@ |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
|
||||
proto_library( |
||||
name = "date_range_proto", |
||||
srcs = ["date_range.proto"], |
||||
deps = [ |
||||
"//google/type:date_proto", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "datetime_range_proto", |
||||
srcs = ["datetime_range.proto"], |
||||
deps = [ |
||||
"//google/type:datetime_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Java |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"java_proto_library", |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "type_java_proto", |
||||
deps = [ |
||||
":date_range_proto", |
||||
":datetime_range_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Go |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"go_proto_library", |
||||
) |
||||
|
||||
go_proto_library( |
||||
name = "date_range_go_proto", |
||||
importpath = "google.golang.org/genproto/googleapis/type/date_range", |
||||
protos = [ |
||||
":date_range_proto", |
||||
], |
||||
deps = ["//google/type:date_go_proto"], |
||||
) |
||||
|
||||
go_proto_library( |
||||
name = "datetime_range_go_proto", |
||||
importpath = "google.golang.org/genproto/googleapis/type/datetime_range", |
||||
protos = [ |
||||
":datetime_range_proto", |
||||
], |
||||
deps = ["//google/type:datetime_go_proto"], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Python |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"py_proto_library", |
||||
) |
||||
|
||||
py_proto_library( |
||||
name = "date_range_py_proto", |
||||
deps = [":date_range_proto"], |
||||
) |
||||
|
||||
py_proto_library( |
||||
name = "datetime_range_py_proto", |
||||
deps = [":datetime_range_proto"], |
||||
) |
||||
|
||||
############################################################################## |
||||
# PHP |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"php_proto_library", |
||||
) |
||||
|
||||
php_proto_library( |
||||
name = "date_range_php_proto", |
||||
deps = [":date_range_proto"], |
||||
) |
||||
|
||||
php_proto_library( |
||||
name = "datetime_range_php_proto", |
||||
deps = [":datetime_range_proto"], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
||||
|
||||
############################################################################## |
||||
# Ruby |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"ruby_proto_library", |
||||
) |
||||
|
||||
ruby_proto_library( |
||||
name = "date_range_ruby_proto", |
||||
deps = [":date_range_proto"], |
||||
) |
||||
|
||||
ruby_proto_library( |
||||
name = "datetime_range_ruby_proto", |
||||
deps = [":datetime_range_proto"], |
||||
) |
||||
|
||||
############################################################################## |
||||
# C# |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"csharp_proto_library", |
||||
) |
||||
|
||||
csharp_proto_library( |
||||
name = "date_range_csharp_proto", |
||||
deps = [":date_range_proto"], |
||||
) |
||||
|
||||
csharp_proto_library( |
||||
name = "datetime_range_csharp_proto", |
||||
deps = [":datetime_range_proto"], |
||||
) |
||||
|
||||
############################################################################## |
||||
# C++ |
||||
############################################################################## |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"cc_proto_library", |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "date_range_cc_proto", |
||||
deps = [ |
||||
":date_range_proto", |
||||
], |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "datetime_range_cc_proto", |
||||
deps = [ |
||||
":datetime_range_proto", |
||||
], |
||||
) |
@ -1,81 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
// |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.type; |
||||
|
||||
import "google/type/date.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/type/date_range;date_range"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "DateRangeProto"; |
||||
option java_package = "com.google.actions.type"; |
||||
option objc_class_prefix = "AOGTP"; |
||||
|
||||
// Represents a range based on whole or partial calendar dates, e.g. the |
||||
// duration of a hotel reservation or the Common Era. This can represent: |
||||
// |
||||
// * A range between full dates, e.g. the duration of a hotel reservation |
||||
// * A range between years, e.g. a historical era |
||||
// * A range between year/month dates, e.g. the duration of a job on a resume |
||||
// * A range beginning in a year, e.g. the Common Era |
||||
// * A range ending on a specific date, e.g. the period of time before an event |
||||
// |
||||
// While [google.type.Date][google.type.Date] allows zero years, DateRange does not. Year must |
||||
// always be non-zero. |
||||
// |
||||
// End cannot be chronologically before start. For example, if start has year |
||||
// 2000, end cannot have year 1999. |
||||
// |
||||
// When both set, start and end must have exactly the same precision. That is, |
||||
// they must have the same fields populated with non-zero values. For example, |
||||
// if start specifies only year and month, then end must also specify only year |
||||
// and month (but not day). |
||||
// |
||||
// The date range is inclusive. That is, the dates specified by start and end |
||||
// are part of the date range. For example, the date January 1, 2000 falls |
||||
// within any date with start or end equal to January 1, 2000. When determining |
||||
// whether a date is inside a date range, the date should only be compared to |
||||
// start and end when those values are set. |
||||
// |
||||
// When a date and date range are specified to different degrees of precision, |
||||
// the rules for evaluating whether that date is inside the date range are as |
||||
// follows: |
||||
// |
||||
// * When comparing the date to the start of the date range, unspecified months |
||||
// should be replaced with 1, and unspecified days should be replaced with 1. |
||||
// For example, the year 2000 is within the date range with start equal to |
||||
// January 1, 2000 and no end. And the date January 1, 2000 is within the |
||||
// date range with start equal to the year 2000 and no end. |
||||
// |
||||
// * When comparing the date to the end of the date range, unspecified months |
||||
// should be replaced with 12, and unspecified days should be replaced with |
||||
// the last valid day for the month/year. For example, the year 2000 is |
||||
// within the date range with start equal to January 1, 1999 and end equal to |
||||
// December 31, 2000. And the date December 31, 2001 is within the date range |
||||
// with start equal to the year 2000 and end equal to the year 2001. |
||||
// |
||||
// The semantics of start and end are the same as those of [google.type.Date][google.type.Date], |
||||
// except that year must always be non-zero in DateRange. |
||||
message DateRange { |
||||
// Date at which the date range begins. If unset, the date range has no |
||||
// beginning bound. |
||||
google.type.Date start = 1; |
||||
|
||||
// Date at which the date range ends. If unset, the date range has no ending |
||||
// bound. |
||||
google.type.Date end = 2; |
||||
} |
@ -1,66 +0,0 @@ |
||||
// Copyright 2025 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
// |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.actions.type; |
||||
|
||||
import "google/type/datetime.proto"; |
||||
|
||||
option go_package = "google.golang.org/genproto/googleapis/type/date_time_range;date_time_range"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "DateTimeRangeProto"; |
||||
option java_package = "com.google.actions.type"; |
||||
option objc_class_prefix = "AOGTP"; |
||||
|
||||
// Represents a date and time range. This can represent: |
||||
// |
||||
// * A range between points in time with time zone or offset, e.g. the duration |
||||
// of a flight which starts in the "America/New_York" time zone and ends in |
||||
// the "Australia/Sydney" time zone |
||||
// * A range between points in time without time zone/offset info, e.g. an |
||||
// appointment in local time |
||||
// * A range starting at a specific date and time, e.g. the range of time which |
||||
// can be measured in milliseconds since the Unix epoch (period starting with |
||||
// 1970-01-01T00:00:00Z) |
||||
// * A range ending at a specific date and time, e.g. range of time before |
||||
// a deadline |
||||
// |
||||
// When considering whether a DateTime falls within a DateTimeRange, the start |
||||
// of the range is inclusive and the end is exclusive. |
||||
// |
||||
// While [google.type.DateTime][google.type.DateTime] allows zero years, DateTimeRange does not. |
||||
// Year must always be non-zero. |
||||
// |
||||
// When both start and end are set, either both or neither must have a |
||||
// time_offset. When set, time_offset can be specified by either utc_offset or |
||||
// time_zone and must match for start and end, that is if start has utc_offset |
||||
// set then end must also have utc_offset set. The values of utc_offset or |
||||
// time_zone need not be the same for start and end. |
||||
// |
||||
// When both start and end are set, start must be chronologically less than or |
||||
// equal to end. When start and end are equal, the range is empty. |
||||
// |
||||
// The semantics of start and end are the same as those of |
||||
// [google.type.DateTime][google.type.DateTime]. |
||||
message DateTimeRange { |
||||
// DateTime at which the date range begins. If unset, the range has no |
||||
// beginning bound. |
||||
google.type.DateTime start = 1; |
||||
|
||||
// DateTime at which the date range ends. If unset, the range has no ending |
||||
// bound. |
||||
google.type.DateTime end = 2; |
||||
} |
@ -1,21 +0,0 @@ |
||||
type: google.api.Service |
||||
config_version: 1 |
||||
name: type.aog.googleapis.com |
||||
title: Common Actions on Google Types |
||||
|
||||
types: |
||||
- name: google.actions.type.DateRange |
||||
- name: google.actions.type.DateTimeRange |
||||
|
||||
documentation: |
||||
summary: Defines common types for Actions on Google APIs. |
||||
overview: |- |
||||
This package contains definitions of common types for Actions on Google |
||||
APIs, which are used in addition to the common Google API types in the |
||||
google.type package. These types are not versioned, and must go through |
||||
extensive review before being created. |
||||
|
||||
Like the types in google.type, all types defined in this package are |
||||
suitable for different APIs to exchange data, and will never break binary |
||||
compatibility. They should have design quality comparable to major |
||||
programming languages like Java and C#. |
@ -1,36 +0,0 @@ |
||||
# This build file includes a target for the Ruby wrapper library for |
||||
# google-ads-ad_manager. |
||||
|
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"ruby_cloud_gapic_library", |
||||
"ruby_gapic_assembly_pkg", |
||||
) |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
# Export yaml configs. |
||||
exports_files(glob(["*.yaml"])) |
||||
|
||||
# Generates a Ruby wrapper client for admanager. |
||||
# Ruby wrapper clients are versionless, but are generated from source protos |
||||
# for a particular service version, v1 in this case. |
||||
ruby_cloud_gapic_library( |
||||
name = "admanager_ruby_wrapper", |
||||
srcs = ["//google/ads/admanager/v1:admanager_proto_with_info"], |
||||
extra_protoc_parameters = [ |
||||
"ruby-cloud-gem-name=google-ads-ad_manager", |
||||
"ruby-cloud-wrapper-of=v1:1.0", |
||||
], |
||||
service_yaml = "//google/ads/admanager/v1:admanager_v1.yaml", |
||||
transport = "rest", |
||||
) |
||||
|
||||
# Open Source package. |
||||
ruby_gapic_assembly_pkg( |
||||
name = "google-ads-ad_manager-ruby", |
||||
deps = [ |
||||
":admanager_ruby_wrapper", |
||||
], |
||||
) |
@ -1,444 +0,0 @@ |
||||
# This file was automatically generated by BuildFileGenerator |
||||
# https://github.com/googleapis/rules_gapic/tree/master/bazel |
||||
|
||||
# Most of the manual changes to this file will be overwritten. |
||||
# It's **only** allowed to change the following rule attribute values: |
||||
# - names of *_gapic_assembly_* rules |
||||
# - certain parameters of *_gapic_library rules, including but not limited to: |
||||
# * extra_protoc_parameters |
||||
# * extra_protoc_file_parameters |
||||
# The complete list of preserved parameters can be found in the source code. |
||||
|
||||
# buildifier: disable=load-on-top |
||||
|
||||
# This is an API workspace, having public visibility by default makes perfect sense. |
||||
package(default_visibility = ["//visibility:public"]) |
||||
|
||||
############################################################################## |
||||
# Common |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load("@com_google_googleapis_imports//:imports.bzl", "proto_library_with_info") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
|
||||
proto_library( |
||||
name = "admanager_proto", |
||||
srcs = [ |
||||
"ad_unit_enums.proto", |
||||
"ad_unit_messages.proto", |
||||
"ad_unit_service.proto", |
||||
"admanager_error.proto", |
||||
"applied_label.proto", |
||||
"company_credit_status_enum.proto", |
||||
"company_messages.proto", |
||||
"company_service.proto", |
||||
"company_type_enum.proto", |
||||
"contact_messages.proto", |
||||
"custom_field_enums.proto", |
||||
"custom_field_messages.proto", |
||||
"custom_field_service.proto", |
||||
"custom_field_value.proto", |
||||
"custom_targeting_key_enums.proto", |
||||
"custom_targeting_key_messages.proto", |
||||
"custom_targeting_key_service.proto", |
||||
"custom_targeting_value_enums.proto", |
||||
"custom_targeting_value_messages.proto", |
||||
"custom_targeting_value_service.proto", |
||||
"entity_signals_mapping_messages.proto", |
||||
"entity_signals_mapping_service.proto", |
||||
"environment_type_enum.proto", |
||||
"frequency_cap.proto", |
||||
"label_messages.proto", |
||||
"network_messages.proto", |
||||
"network_service.proto", |
||||
"order_enums.proto", |
||||
"order_messages.proto", |
||||
"order_service.proto", |
||||
"placement_enums.proto", |
||||
"placement_messages.proto", |
||||
"placement_service.proto", |
||||
"report_service.proto", |
||||
"role_enums.proto", |
||||
"role_messages.proto", |
||||
"role_service.proto", |
||||
"size.proto", |
||||
"size_type_enum.proto", |
||||
"taxonomy_category_messages.proto", |
||||
"taxonomy_category_service.proto", |
||||
"taxonomy_type_enum.proto", |
||||
"team_messages.proto", |
||||
"time_unit_enum.proto", |
||||
"user_messages.proto", |
||||
"user_service.proto", |
||||
], |
||||
deps = [ |
||||
"//google/api:annotations_proto", |
||||
"//google/api:client_proto", |
||||
"//google/api:field_behavior_proto", |
||||
"//google/api:resource_proto", |
||||
"//google/longrunning:operations_proto", |
||||
"//google/type:date_proto", |
||||
"//google/type:dayofweek_proto", |
||||
"//google/type:timeofday_proto", |
||||
"@com_google_protobuf//:any_proto", |
||||
"@com_google_protobuf//:duration_proto", |
||||
"@com_google_protobuf//:field_mask_proto", |
||||
"@com_google_protobuf//:timestamp_proto", |
||||
], |
||||
) |
||||
|
||||
proto_library_with_info( |
||||
name = "admanager_proto_with_info", |
||||
deps = [ |
||||
":admanager_proto", |
||||
"//google/cloud:common_resources_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Java |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"java_gapic_assembly_gradle_pkg", |
||||
"java_gapic_library", |
||||
"java_gapic_test", |
||||
"java_proto_library", |
||||
) |
||||
|
||||
java_proto_library( |
||||
name = "admanager_java_proto", |
||||
deps = [":admanager_proto"], |
||||
) |
||||
|
||||
java_gapic_library( |
||||
name = "admanager_java_gapic", |
||||
srcs = [":admanager_proto_with_info"], |
||||
gapic_yaml = None, |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
test_deps = [ |
||||
], |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_java_proto", |
||||
"//google/api:api_java_proto", |
||||
], |
||||
) |
||||
|
||||
java_gapic_test( |
||||
name = "admanager_java_gapic_test_suite", |
||||
test_classes = [ |
||||
"com.google.ads.admanager.v1.AdUnitServiceClientTest", |
||||
"com.google.ads.admanager.v1.CompanyServiceClientTest", |
||||
"com.google.ads.admanager.v1.CustomFieldServiceClientTest", |
||||
"com.google.ads.admanager.v1.CustomTargetingKeyServiceClientTest", |
||||
"com.google.ads.admanager.v1.CustomTargetingValueServiceClientTest", |
||||
"com.google.ads.admanager.v1.EntitySignalsMappingServiceClientTest", |
||||
"com.google.ads.admanager.v1.NetworkServiceClientTest", |
||||
"com.google.ads.admanager.v1.OrderServiceClientTest", |
||||
"com.google.ads.admanager.v1.PlacementServiceClientTest", |
||||
"com.google.ads.admanager.v1.ReportServiceClientTest", |
||||
"com.google.ads.admanager.v1.RoleServiceClientTest", |
||||
"com.google.ads.admanager.v1.TaxonomyCategoryServiceClientTest", |
||||
"com.google.ads.admanager.v1.UserServiceClientTest", |
||||
], |
||||
runtime_deps = [":admanager_java_gapic_test"], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
java_gapic_assembly_gradle_pkg( |
||||
name = "google-ads-admanager-v1-java", |
||||
include_samples = True, |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_java_gapic", |
||||
":admanager_java_proto", |
||||
":admanager_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Go |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"go_gapic_assembly_pkg", |
||||
"go_gapic_library", |
||||
"go_proto_library", |
||||
) |
||||
|
||||
go_proto_library( |
||||
name = "admanager_go_proto", |
||||
compilers = ["@io_bazel_rules_go//proto:go_grpc"], |
||||
importpath = "google.golang.org/genproto/googleapis/ads/admanager/v1", |
||||
protos = [":admanager_proto"], |
||||
deps = [ |
||||
"//google/api:annotations_go_proto", |
||||
"//google/longrunning:longrunning_go_proto", |
||||
"//google/type:date_go_proto", |
||||
"//google/type:dayofweek_go_proto", |
||||
"//google/type:timeofday_go_proto", |
||||
], |
||||
) |
||||
|
||||
go_gapic_library( |
||||
name = "admanager_go_gapic", |
||||
srcs = [":admanager_proto_with_info"], |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
importpath = "google.golang.org/google/ads/admanager/v1;admanager", |
||||
metadata = True, |
||||
release_level = "beta", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_go_proto", |
||||
"//google/longrunning:longrunning_go_proto", |
||||
"@com_google_cloud_go_longrunning//:go_default_library", |
||||
"@com_google_cloud_go_longrunning//autogen:go_default_library", |
||||
"@io_bazel_rules_go//proto/wkt:any_go_proto", |
||||
"@io_bazel_rules_go//proto/wkt:duration_go_proto", |
||||
], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
go_gapic_assembly_pkg( |
||||
name = "gapi-ads-admanager-v1-go", |
||||
deps = [ |
||||
":admanager_go_gapic", |
||||
":admanager_go_gapic_srcjar-metadata.srcjar", |
||||
":admanager_go_gapic_srcjar-snippets.srcjar", |
||||
":admanager_go_gapic_srcjar-test.srcjar", |
||||
":admanager_go_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Python |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"py_gapic_assembly_pkg", |
||||
"py_gapic_library", |
||||
"py_test", |
||||
) |
||||
|
||||
py_gapic_library( |
||||
name = "admanager_py_gapic", |
||||
srcs = [":admanager_proto"], |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [ |
||||
], |
||||
) |
||||
|
||||
py_test( |
||||
name = "admanager_py_gapic_test", |
||||
srcs = [ |
||||
"admanager_py_gapic_pytest.py", |
||||
"admanager_py_gapic_test.py", |
||||
], |
||||
legacy_create_init = False, |
||||
deps = [":admanager_py_gapic"], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
py_gapic_assembly_pkg( |
||||
name = "ads-admanager-v1-py", |
||||
deps = [ |
||||
":admanager_py_gapic", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# PHP |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"php_gapic_assembly_pkg", |
||||
"php_gapic_library", |
||||
"php_proto_library", |
||||
) |
||||
|
||||
php_proto_library( |
||||
name = "admanager_php_proto", |
||||
deps = [":admanager_proto"], |
||||
) |
||||
|
||||
php_gapic_library( |
||||
name = "admanager_php_gapic", |
||||
srcs = [":admanager_proto_with_info"], |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
migration_mode = "NEW_SURFACE_ONLY", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_php_proto", |
||||
], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
php_gapic_assembly_pkg( |
||||
name = "google-ads-admanager-v1-php", |
||||
deps = [ |
||||
":admanager_php_gapic", |
||||
":admanager_php_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Node.js |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"nodejs_gapic_assembly_pkg", |
||||
"nodejs_gapic_library", |
||||
) |
||||
|
||||
nodejs_gapic_library( |
||||
name = "admanager_nodejs_gapic", |
||||
package_name = "@google-ads/admanager", |
||||
src = ":admanager_proto_with_info", |
||||
extra_protoc_parameters = ["metadata"], |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
package = "google.ads.admanager.v1", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [], |
||||
) |
||||
|
||||
nodejs_gapic_assembly_pkg( |
||||
name = "ads-admanager-v1-nodejs", |
||||
deps = [ |
||||
":admanager_nodejs_gapic", |
||||
":admanager_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# Ruby |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"ruby_cloud_gapic_library", |
||||
"ruby_gapic_assembly_pkg", |
||||
"ruby_grpc_library", |
||||
"ruby_proto_library", |
||||
) |
||||
|
||||
ruby_proto_library( |
||||
name = "admanager_ruby_proto", |
||||
deps = [":admanager_proto"], |
||||
) |
||||
|
||||
ruby_grpc_library( |
||||
name = "admanager_ruby_grpc", |
||||
srcs = [":admanager_proto"], |
||||
deps = [":admanager_ruby_proto"], |
||||
) |
||||
|
||||
ruby_cloud_gapic_library( |
||||
name = "admanager_ruby_gapic", |
||||
srcs = [":admanager_proto_with_info"], |
||||
extra_protoc_parameters = ["ruby-cloud-gem-name=google-ads-ad_manager-v1"], |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_ruby_grpc", |
||||
":admanager_ruby_proto", |
||||
], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
ruby_gapic_assembly_pkg( |
||||
name = "google-ads-admanager-v1-ruby", |
||||
deps = [ |
||||
":admanager_ruby_gapic", |
||||
":admanager_ruby_grpc", |
||||
":admanager_ruby_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# C# |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"csharp_gapic_assembly_pkg", |
||||
"csharp_gapic_library", |
||||
"csharp_grpc_library", |
||||
"csharp_proto_library", |
||||
) |
||||
|
||||
csharp_proto_library( |
||||
name = "admanager_csharp_proto", |
||||
extra_opts = [], |
||||
deps = [":admanager_proto"], |
||||
) |
||||
|
||||
csharp_grpc_library( |
||||
name = "admanager_csharp_grpc", |
||||
srcs = [":admanager_proto"], |
||||
deps = [":admanager_csharp_proto"], |
||||
) |
||||
|
||||
csharp_gapic_library( |
||||
name = "admanager_csharp_gapic", |
||||
srcs = [":admanager_proto_with_info"], |
||||
common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", |
||||
grpc_service_config = "admanager_grpc_service_config.json", |
||||
rest_numeric_enums = True, |
||||
service_yaml = "admanager_v1.yaml", |
||||
transport = "rest", |
||||
deps = [ |
||||
":admanager_csharp_grpc", |
||||
":admanager_csharp_proto", |
||||
], |
||||
) |
||||
|
||||
# Open Source Packages |
||||
csharp_gapic_assembly_pkg( |
||||
name = "google-ads-admanager-v1-csharp", |
||||
deps = [ |
||||
":admanager_csharp_gapic", |
||||
":admanager_csharp_grpc", |
||||
":admanager_csharp_proto", |
||||
], |
||||
) |
||||
|
||||
############################################################################## |
||||
# C++ |
||||
############################################################################## |
||||
# buildifier: disable=same-origin-load |
||||
load( |
||||
"@com_google_googleapis_imports//:imports.bzl", |
||||
"cc_grpc_library", |
||||
"cc_proto_library", |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "admanager_cc_proto", |
||||
deps = [":admanager_proto"], |
||||
) |
||||
|
||||
cc_grpc_library( |
||||
name = "admanager_cc_grpc", |
||||
srcs = [":admanager_proto"], |
||||
grpc_only = True, |
||||
deps = [":admanager_cc_proto"], |
||||
) |
@ -1,81 +0,0 @@ |
||||
// Copyright 2024 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.ads.admanager.v1; |
||||
|
||||
option csharp_namespace = "Google.Ads.AdManager.V1"; |
||||
option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AdUnitEnumsProto"; |
||||
option java_package = "com.google.ads.admanager.v1"; |
||||
option php_namespace = "Google\\Ads\\AdManager\\V1"; |
||||
option ruby_package = "Google::Ads::AdManager::V1"; |
||||
|
||||
// Wrapper message for |
||||
// [AdUnitStatus][google.ads.admanager.v1.AdUnitStatusEnum.AdUnitStatus] |
||||
message AdUnitStatusEnum { |
||||
// The status of an AdUnit. |
||||
enum AdUnitStatus { |
||||
// Default value. This value is unused. |
||||
AD_UNIT_STATUS_UNSPECIFIED = 0; |
||||
|
||||
// The ad unit is active, available for targeting, and serving. |
||||
ACTIVE = 1; |
||||
|
||||
// The ad unit will be visible in the UI, but ignored by serving. |
||||
INACTIVE = 2; |
||||
|
||||
// The ad unit will be hidden in the UI and ignored by serving. |
||||
ARCHIVED = 3; |
||||
} |
||||
} |
||||
|
||||
// Wrapper message for |
||||
// [SmartSizeMode][google.ads.admanager.v1.SmartSizeModeEnum.SmartSizeMode]. |
||||
message SmartSizeModeEnum { |
||||
// The smart size mode for this ad unit. This attribute is optional and |
||||
// defaults to SmartSizeMode.NONE for fixed sizes. |
||||
enum SmartSizeMode { |
||||
// Default value. This value is unused. |
||||
SMART_SIZE_MODE_UNSPECIFIED = 0; |
||||
|
||||
// Fixed size mode (default). |
||||
NONE = 1; |
||||
|
||||
// The height is fixed for the request, the width is a range. |
||||
SMART_BANNER = 2; |
||||
|
||||
// Height and width are ranges. |
||||
DYNAMIC_SIZE = 3; |
||||
} |
||||
} |
||||
|
||||
// Wrapper message for |
||||
// [TargetWindow][google.ads.admanager.v1.TargetWindowEnum.TargetWindow]. |
||||
message TargetWindowEnum { |
||||
// Corresponds to an HTML link's target attribute. |
||||
// See http://www.w3.org/TR/html401/present/frames.html#adef-target |
||||
enum TargetWindow { |
||||
// Default value. This value is unused. |
||||
TARGET_WINDOW_UNSPECIFIED = 0; |
||||
|
||||
// Specifies that the link should open in the full body of the page. |
||||
TOP = 1; |
||||
|
||||
// Specifies that the link should open in a new window. |
||||
BLANK = 2; |
||||
} |
||||
} |
@ -1,230 +0,0 @@ |
||||
// Copyright 2024 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.ads.admanager.v1; |
||||
|
||||
import "google/ads/admanager/v1/ad_unit_enums.proto"; |
||||
import "google/ads/admanager/v1/applied_label.proto"; |
||||
import "google/ads/admanager/v1/environment_type_enum.proto"; |
||||
import "google/ads/admanager/v1/frequency_cap.proto"; |
||||
import "google/ads/admanager/v1/size.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
import "google/protobuf/duration.proto"; |
||||
import "google/protobuf/timestamp.proto"; |
||||
|
||||
option csharp_namespace = "Google.Ads.AdManager.V1"; |
||||
option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AdUnitMessagesProto"; |
||||
option java_package = "com.google.ads.admanager.v1"; |
||||
option php_namespace = "Google\\Ads\\AdManager\\V1"; |
||||
option ruby_package = "Google::Ads::AdManager::V1"; |
||||
|
||||
// The AdUnit resource. |
||||
message AdUnit { |
||||
option (google.api.resource) = { |
||||
type: "admanager.googleapis.com/AdUnit" |
||||
pattern: "networks/{network_code}/adUnits/{ad_unit}" |
||||
plural: "adUnits" |
||||
singular: "adUnit" |
||||
}; |
||||
|
||||
// Identifier. The resource name of the AdUnit. |
||||
// Format: `networks/{network_code}/adUnits/{ad_unit_id}` |
||||
string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
||||
|
||||
// Output only. AdUnit ID. |
||||
int64 ad_unit_id = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. Immutable. The AdUnit's parent. Every ad unit has a parent except |
||||
// for the root ad unit, which is created by Google. Format: |
||||
// "networks/{network_code}/adUnits/{ad_unit_id}" |
||||
string parent_ad_unit = 10 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.field_behavior) = IMMUTABLE, |
||||
(google.api.resource_reference) = { |
||||
type: "admanager.googleapis.com/AdUnit" |
||||
} |
||||
]; |
||||
|
||||
// Output only. The path to this AdUnit in the ad unit hierarchy represented |
||||
// as a list from the root to this ad unit's parent. For root ad units, this |
||||
// list is empty. |
||||
repeated AdUnitParent parent_path = 11 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Required. The display name of the ad unit. Its maximum length is 255 |
||||
// characters. |
||||
string display_name = 9 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Immutable. A string used to uniquely identify the ad unit for the purposes |
||||
// of serving the ad. This attribute is optional and can be set during ad unit |
||||
// creation. If it is not provided, it will be assigned by Google based on the |
||||
// ad unit ID. |
||||
string ad_unit_code = 2 [(google.api.field_behavior) = IMMUTABLE]; |
||||
|
||||
// Output only. The status of this ad unit. It defaults to ACTIVE. |
||||
AdUnitStatusEnum.AdUnitStatus status = 13 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The target window directly applied to this AdUnit. |
||||
// If this field is not set, this AdUnit uses the target window specified in |
||||
// effectiveTargetWindow. |
||||
TargetWindowEnum.TargetWindow applied_target_window = 44 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. Non-empty default. The target window of this AdUnit. This |
||||
// value is inherited from ancestor AdUnits and defaults to TOP if no AdUnit |
||||
// in the hierarchy specifies it. |
||||
TargetWindowEnum.TargetWindow effective_target_window = 45 [ |
||||
(google.api.field_behavior) = NON_EMPTY_DEFAULT, |
||||
(google.api.field_behavior) = OUTPUT_ONLY |
||||
]; |
||||
|
||||
// Optional. The resource names of Teams directly applied to this AdUnit. |
||||
// Format: "networks/{network_code}/teams/{team_id}" |
||||
repeated string applied_teams = 3 [ |
||||
(google.api.field_behavior) = OPTIONAL, |
||||
(google.api.resource_reference) = { type: "admanager.googleapis.com/Team" } |
||||
]; |
||||
|
||||
// Output only. The resource names of all Teams that this AdUnit is on as well |
||||
// as those inherited from parent AdUnits. Format: |
||||
// "networks/{network_code}/teams/{team_id}" |
||||
repeated string teams = 4 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { type: "admanager.googleapis.com/Team" } |
||||
]; |
||||
|
||||
// Optional. A description of the ad unit. The maximum length is 65,535 |
||||
// characters. |
||||
string description = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. If this field is set to true, then the AdUnit will not be |
||||
// implicitly targeted when its parent is. Traffickers must explicitly |
||||
// target such an AdUnit or else no line items will serve to it. This |
||||
// feature is only available for Ad Manager 360 accounts. |
||||
bool explicitly_targeted = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. This field is set to true if the ad unit has any children. |
||||
bool has_children = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. The time this AdUnit was last modified. |
||||
google.protobuf.Timestamp update_time = 8 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The sizes that can be served inside this ad unit. |
||||
repeated AdUnitSize ad_unit_sizes = 14 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Determines what set top box video on demand channel this ad unit |
||||
// corresponds to in an external set top box ad campaign system. |
||||
string external_set_top_box_channel_id = 17 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The duration after which an Ad Unit will automatically refresh. |
||||
// This is only valid for ad units in mobile apps. If not set, the ad unit |
||||
// will not refresh. |
||||
google.protobuf.Duration refresh_delay = 19 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The set of labels applied directly to this ad unit. |
||||
repeated AppliedLabel applied_labels = 21 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. Contains the set of labels applied directly to the ad unit as |
||||
// well as those inherited from the parent ad units. If a label has been |
||||
// negated, only the negated label is returned. This field is readonly and is |
||||
// assigned by Google. |
||||
repeated AppliedLabel effective_applied_labels = 22 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The set of label frequency caps applied directly to this ad unit. |
||||
// There is a limit of 10 label frequency caps per ad unit. |
||||
repeated LabelFrequencyCap applied_label_frequency_caps = 23 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. The label frequency caps applied directly to the ad unit as |
||||
// well as those inherited from parent ad units. |
||||
repeated LabelFrequencyCap effective_label_frequency_caps = 24 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Optional. The smart size mode for this ad unit. This attribute is optional |
||||
// and defaults to SmartSizeMode.NONE for fixed sizes. |
||||
SmartSizeModeEnum.SmartSizeMode smart_size_mode = 25 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. The value of AdSense enabled directly applied to this ad unit. |
||||
// This attribute is optional and if not specified this ad unit will inherit |
||||
// the value of effectiveAdsenseEnabled from its ancestors. |
||||
optional bool applied_adsense_enabled = 26 |
||||
[(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Output only. Specifies whether or not the AdUnit is enabled for serving ads |
||||
// from the AdSense content network. This attribute defaults to the ad unit's |
||||
// parent or ancestor's setting if one has been set. If no ancestor of the ad |
||||
// unit has set appliedAdsenseEnabled, the attribute is defaulted to true. |
||||
bool effective_adsense_enabled = 27 |
||||
[(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// Represents the size, environment, and companions of an ad in an ad unit. |
||||
message AdUnitSize { |
||||
// Required. The Size of the AdUnit. |
||||
Size size = 1 [(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// Required. The EnvironmentType of the AdUnit |
||||
EnvironmentTypeEnum.EnvironmentType environment_type = 2 |
||||
[(google.api.field_behavior) = REQUIRED]; |
||||
|
||||
// The companions for this ad unit size. Companions are only valid if the |
||||
// environment is |
||||
// [VIDEO_PLAYER][google.ads.admanager.v1.EnvironmentTypeEnum.EnvironmentType]. |
||||
repeated Size companions = 3; |
||||
} |
||||
|
||||
// The summary of a parent AdUnit. |
||||
message AdUnitParent { |
||||
// Output only. The parent of the current AdUnit |
||||
// Format: `networks/{network_code}/adUnits/{ad_unit_id}` |
||||
string parent_ad_unit = 1 [ |
||||
(google.api.field_behavior) = OUTPUT_ONLY, |
||||
(google.api.resource_reference) = { |
||||
type: "admanager.googleapis.com/AdUnit" |
||||
} |
||||
]; |
||||
|
||||
// Output only. The display name of the parent AdUnit. |
||||
string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
|
||||
// Output only. A string used to uniquely identify the ad unit for the |
||||
// purposes of serving the ad. |
||||
string ad_unit_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; |
||||
} |
||||
|
||||
// Frequency cap using a label. |
||||
message LabelFrequencyCap { |
||||
// Required. The label to used for frequency capping. |
||||
// Format: "networks/{network_code}/labels/{label_id}" |
||||
string label = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { type: "admanager.googleapis.com/Label" } |
||||
]; |
||||
|
||||
// The frequency cap. |
||||
FrequencyCap frequency_cap = 2; |
||||
} |
@ -1,195 +0,0 @@ |
||||
// Copyright 2024 Google LLC |
||||
// |
||||
// Licensed under the Apache License, Version 2.0 (the "License"); |
||||
// you may not use this file except in compliance with the License. |
||||
// You may obtain a copy of the License at |
||||
// |
||||
// http://www.apache.org/licenses/LICENSE-2.0 |
||||
// |
||||
// Unless required by applicable law or agreed to in writing, software |
||||
// distributed under the License is distributed on an "AS IS" BASIS, |
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
// See the License for the specific language governing permissions and |
||||
// limitations under the License. |
||||
|
||||
syntax = "proto3"; |
||||
|
||||
package google.ads.admanager.v1; |
||||
|
||||
import "google/ads/admanager/v1/ad_unit_messages.proto"; |
||||
import "google/api/annotations.proto"; |
||||
import "google/api/client.proto"; |
||||
import "google/api/field_behavior.proto"; |
||||
import "google/api/resource.proto"; |
||||
|
||||
option csharp_namespace = "Google.Ads.AdManager.V1"; |
||||
option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; |
||||
option java_multiple_files = true; |
||||
option java_outer_classname = "AdUnitServiceProto"; |
||||
option java_package = "com.google.ads.admanager.v1"; |
||||
option php_namespace = "Google\\Ads\\AdManager\\V1"; |
||||
option ruby_package = "Google::Ads::AdManager::V1"; |
||||
|
||||
// Provides methods for handling AdUnit objects. |
||||
service AdUnitService { |
||||
option (google.api.default_host) = "admanager.googleapis.com"; |
||||
|
||||
// API to retrieve an AdUnit object. |
||||
rpc GetAdUnit(GetAdUnitRequest) returns (AdUnit) { |
||||
option (google.api.http) = { |
||||
get: "/v1/{name=networks/*/adUnits/*}" |
||||
}; |
||||
option (google.api.method_signature) = "name"; |
||||
} |
||||
|
||||
// API to retrieve a list of AdUnit objects. |
||||
rpc ListAdUnits(ListAdUnitsRequest) returns (ListAdUnitsResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1/{parent=networks/*}/adUnits" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
|
||||
// API to retrieve a list of AdUnitSize objects. |
||||
rpc ListAdUnitSizes(ListAdUnitSizesRequest) |
||||
returns (ListAdUnitSizesResponse) { |
||||
option (google.api.http) = { |
||||
get: "/v1/{parent=networks/*}/adUnitSizes" |
||||
}; |
||||
option (google.api.method_signature) = "parent"; |
||||
} |
||||
} |
||||
|
||||
// Request object for GetAdUnit method. |
||||
message GetAdUnitRequest { |
||||
// Required. The resource name of the AdUnit. |
||||
// Format: `networks/{network_code}/adUnits/{ad_unit_id}` |
||||
string name = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "admanager.googleapis.com/AdUnit" |
||||
} |
||||
]; |
||||
} |
||||
|
||||
// Request object for ListAdUnits method. |
||||
message ListAdUnitsRequest { |
||||
// Required. The parent, which owns this collection of AdUnits. |
||||
// Format: `networks/{network_code}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "admanager.googleapis.com/Network" |
||||
} |
||||
]; |
||||
|
||||
// Optional. The maximum number of AdUnits to return. The service may return |
||||
// fewer than this value. If unspecified, at most 50 ad units will be |
||||
// returned. The maximum value is 1000; values above 1000 will be coerced to |
||||
// 1000. |
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A page token, received from a previous `ListAdUnits` call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to `ListAdUnits` must match |
||||
// the call that provided the page token. |
||||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Expression to filter the response. |
||||
// See syntax details at |
||||
// https://developers.google.com/ad-manager/api/beta/filters |
||||
string filter = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Expression to specify sorting order. |
||||
// See syntax details at |
||||
// https://developers.google.com/ad-manager/api/beta/filters#order |
||||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Number of individual resources to skip while paginating. |
||||
int32 skip = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Response object for ListAdUnitsRequest containing matching AdUnit resources. |
||||
message ListAdUnitsResponse { |
||||
// The AdUnit from the specified network. |
||||
repeated AdUnit ad_units = 1; |
||||
|
||||
// A token, which can be sent as `page_token` to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
|
||||
// Total number of AdUnits. |
||||
// If a filter was included in the request, this reflects the total number |
||||
// after the filtering is applied. |
||||
// |
||||
// `total_size` will not be calculated in the response unless it has been |
||||
// included in a response field mask. The response field mask can be provided |
||||
// to the method by using the URL parameter `$fields` or `fields`, or by using |
||||
// the HTTP/gRPC header `X-Goog-FieldMask`. |
||||
// |
||||
// For more information, see |
||||
// https://developers.google.com/ad-manager/api/beta/field-masks |
||||
int32 total_size = 3; |
||||
} |
||||
|
||||
// Request object for ListAdUnitSizes method. |
||||
message ListAdUnitSizesRequest { |
||||
// Required. The parent, which owns this collection of AdUnitSizes. |
||||
// Format: `networks/{network_code}` |
||||
string parent = 1 [ |
||||
(google.api.field_behavior) = REQUIRED, |
||||
(google.api.resource_reference) = { |
||||
type: "admanager.googleapis.com/Network" |
||||
} |
||||
]; |
||||
|
||||
// Optional. The maximum number of AdUnitSizes to return. The service may |
||||
// return fewer than this value. If unspecified, at most 50 ad unit sizes will |
||||
// be returned. The maximum value is 1000; values above 1000 will be coerced |
||||
// to 1000. |
||||
int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. A page token, received from a previous `ListAdUnitSizes` call. |
||||
// Provide this to retrieve the subsequent page. |
||||
// |
||||
// When paginating, all other parameters provided to `ListAdUnitSizes` must |
||||
// match the call that provided the page token. |
||||
string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Expression to filter the response. |
||||
// See syntax details at |
||||
// https://developers.google.com/ad-manager/api/beta/filters |
||||
string filter = 4 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Expression to specify sorting order. |
||||
// See syntax details at |
||||
// https://developers.google.com/ad-manager/api/beta/filters#order |
||||
string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; |
||||
|
||||
// Optional. Number of individual resources to skip while paginating. |
||||
int32 skip = 6 [(google.api.field_behavior) = OPTIONAL]; |
||||
} |
||||
|
||||
// Response object for ListAdUnitSizesRequest containing matching AdUnitSizes. |
||||
message ListAdUnitSizesResponse { |
||||
// The AdUnitSizes from the specified network. |
||||
repeated AdUnitSize ad_unit_sizes = 1; |
||||
|
||||
// A token, which can be sent as `page_token` to retrieve the next page. |
||||
// If this field is omitted, there are no subsequent pages. |
||||
string next_page_token = 2; |
||||
|
||||
// Total number of AdUnitSizes. |
||||
// If a filter was included in the request, this reflects the total number |
||||
// after the filtering is applied. |
||||
// |
||||
// `total_size` will not be calculated in the response unless it has been |
||||
// included in a response field mask. The response field mask can be provided |
||||
// to the method by using the URL parameter `$fields` or `fields`, or by using |
||||
// the HTTP/gRPC header `X-Goog-FieldMask`. |
||||
// |
||||
// For more information, see |
||||
// https://developers.google.com/ad-manager/api/beta/field-masks |
||||
int32 total_size = 3; |
||||
} |
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue