diff --git a/README.md b/README.md index d68aaa7..3a71931 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,13 @@ Copyright 2025 Logan Magee SPDX-License-Identifier: MPL-2.0 --> -# Accrescent Directory API +# Accrescent App Store API -The Accrescent directory API definitions. +The Accrescent app store API definitions. ## About -The directory API is the gRPC API used by Accrescent clients to retrieve information about apps +The app store API is the gRPC API used by Accrescent clients to retrieve information about apps available in the store. Specifically, it allows clients to: - List apps available for installation in the store @@ -20,7 +20,7 @@ available in the store. Specifically, it allows clients to: - Determine whether an app is compatible with a device - ...and more -API definitions are published to [Buf] at the [directory API BSR repository], which also generates +API definitions are published to [Buf] at the [app store API BSR repository], which also generates client SDKs. ## Versioning policy @@ -32,6 +32,6 @@ Semantic Versioning rules; however, server implementers may experience breaking versions. [Buf]: https://buf.build -[Buf-generated SDKs]: https://buf.build/accrescent/directory-api/sdks -[directory API BSR repository]: https://buf.build/accrescent/directory-api +[Buf-generated SDKs]: https://buf.build/accrescent/appstore-api/sdks +[app store API BSR repository]: https://buf.build/accrescent/appstore-api [semantic versioning]: https://semver.org diff --git a/accrescent/directory/v1/app_download_info.proto b/accrescent/appstore/v1/app_download_info.proto similarity index 55% rename from accrescent/directory/v1/app_download_info.proto rename to accrescent/appstore/v1/app_download_info.proto index 5e4153c..4b75042 100644 --- a/accrescent/directory/v1/app_download_info.proto +++ b/accrescent/appstore/v1/app_download_info.proto @@ -4,20 +4,16 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/package_info.proto"; -import "accrescent/directory/v1/split_download_info.proto"; +import "accrescent/appstore/v1/split_download_info.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // App download information for a given app. message AppDownloadInfo { // Download info for each individual split APK. repeated SplitDownloadInfo split_download_info = 1 [(buf.validate.field).repeated.min_items = 1]; - - // Package information for this app. - PackageInfo package_info = 2 [(buf.validate.field).required = true]; } diff --git a/accrescent/directory/v1/app_listing.proto b/accrescent/appstore/v1/app_listing.proto similarity index 88% rename from accrescent/directory/v1/app_listing.proto rename to accrescent/appstore/v1/app_listing.proto index eaa8e77..129437b 100644 --- a/accrescent/directory/v1/app_listing.proto +++ b/accrescent/appstore/v1/app_listing.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/image.proto"; +import "accrescent/appstore/v1/image.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // A localized store listing for a given app. message AppListing { diff --git a/accrescent/appstore/v1/app_service.proto b/accrescent/appstore/v1/app_service.proto new file mode 100644 index 0000000..e61f7c4 --- /dev/null +++ b/accrescent/appstore/v1/app_service.proto @@ -0,0 +1,60 @@ +// Copyright 2024 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "accrescent/appstore/v1/get_app_download_info_request.proto"; +import "accrescent/appstore/v1/get_app_download_info_response.proto"; +import "accrescent/appstore/v1/get_app_listing_request.proto"; +import "accrescent/appstore/v1/get_app_listing_response.proto"; +import "accrescent/appstore/v1/get_app_package_info_request.proto"; +import "accrescent/appstore/v1/get_app_package_info_response.proto"; +import "accrescent/appstore/v1/get_app_update_info_request.proto"; +import "accrescent/appstore/v1/get_app_update_info_response.proto"; +import "accrescent/appstore/v1/list_app_listings_request.proto"; +import "accrescent/appstore/v1/list_app_listings_response.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// Service providing RPCs for querying all Accrescent apps. +service AppService { + // Retrieves a single app's listing. + // + // The following status codes have defined meanings: + // + // - INVALID_ARGUMENT: the request parameters are invalid + // - NOT_FOUND: an app with the provided ID could not be found + rpc GetAppListing(GetAppListingRequest) returns (GetAppListingResponse); + + // Retrieves a list of unique app listings. + rpc ListAppListings(ListAppListingsRequest) returns (ListAppListingsResponse); + + // Retrieves an app's package information. + // + // The following status codes have defined meanings: + // + // - INVALID_ARGUMENT: the request parameters are invalid + rpc GetAppPackageInfo(GetAppPackageInfoRequest) returns (GetAppPackageInfoResponse); + + // Retrieves an app's download information. + // + // The following status codes have defined meanings: + // + // - INVALID_ARGUMENT: the request parameters are invalid + // - NOT_FOUND: an app with the provided ID could not be found + // - FAILED_PRECONDITION: the app is incompatible with the specified device + rpc GetAppDownloadInfo(GetAppDownloadInfoRequest) returns (GetAppDownloadInfoResponse); + + // Retrieves an app's update information. + // + // The following status codes have defined meanings: + // + // - INVALID_ARGUMENT: the request parameters are invalid + // - NOT_FOUND: an app with the provided ID could not be found + // - FAILED_PRECONDITION: the app is incompatible with the specified device + rpc GetAppUpdateInfo(GetAppUpdateInfoRequest) returns (GetAppUpdateInfoResponse); +} diff --git a/accrescent/appstore/v1/app_update_info.proto b/accrescent/appstore/v1/app_update_info.proto new file mode 100644 index 0000000..48589e6 --- /dev/null +++ b/accrescent/appstore/v1/app_update_info.proto @@ -0,0 +1,19 @@ +// Copyright 2025 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "accrescent/appstore/v1/split_update_info.proto"; +import "buf/validate/validate.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// App update information for a given app. +message AppUpdateInfo { + // Update info for each individual split APK. + repeated SplitUpdateInfo split_update_info = 1 [(buf.validate.field).repeated.min_items = 1]; +} diff --git a/accrescent/directory/v1/device_attributes.proto b/accrescent/appstore/v1/device_attributes.proto similarity index 83% rename from accrescent/directory/v1/device_attributes.proto rename to accrescent/appstore/v1/device_attributes.proto index bc04bf0..7a5fb83 100644 --- a/accrescent/directory/v1/device_attributes.proto +++ b/accrescent/appstore/v1/device_attributes.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "android/bundle/devices.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // A client device's hardware and OS attributes. message DeviceAttributes { diff --git a/accrescent/directory/v1/get_app_download_info_request.proto b/accrescent/appstore/v1/get_app_download_info_request.proto similarity index 73% rename from accrescent/directory/v1/get_app_download_info_request.proto rename to accrescent/appstore/v1/get_app_download_info_request.proto index bd86876..3711e32 100644 --- a/accrescent/directory/v1/get_app_download_info_request.proto +++ b/accrescent/appstore/v1/get_app_download_info_request.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/device_attributes.proto"; +import "accrescent/appstore/v1/device_attributes.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Request defining parameters for retrieving an app's download info. message GetAppDownloadInfoRequest { @@ -35,9 +35,4 @@ message GetAppDownloadInfoRequest { // The current device's hardware and OS attributes used to determine app // compatibility, download size, etc. DeviceAttributes device_attributes = 2 [(buf.validate.field).required = true]; - - // The base version of the app to get download info from (almost always the - // currently installed version). If unspecified, indicates that this is an - // initial installation instead of an update. - optional uint64 base_version_code = 3 [(buf.validate.field).uint64.gt = 0]; } diff --git a/accrescent/appstore/v1/get_app_download_info_response.proto b/accrescent/appstore/v1/get_app_download_info_response.proto new file mode 100644 index 0000000..75efe53 --- /dev/null +++ b/accrescent/appstore/v1/get_app_download_info_response.proto @@ -0,0 +1,19 @@ +// Copyright 2024 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "accrescent/appstore/v1/app_download_info.proto"; +import "buf/validate/validate.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// Response to requesting an app's download info. +message GetAppDownloadInfoResponse { + // The app's download info. + AppDownloadInfo app_download_info = 1 [(buf.validate.field).required = true]; +} diff --git a/accrescent/directory/v1/get_app_listing_request.proto b/accrescent/appstore/v1/get_app_listing_request.proto similarity index 92% rename from accrescent/directory/v1/get_app_listing_request.proto rename to accrescent/appstore/v1/get_app_listing_request.proto index 6969273..dfbb82c 100644 --- a/accrescent/directory/v1/get_app_listing_request.proto +++ b/accrescent/appstore/v1/get_app_listing_request.proto @@ -4,12 +4,12 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Request defining parameters for retrieving an app listing. message GetAppListingRequest { diff --git a/accrescent/directory/v1/get_app_listing_response.proto b/accrescent/appstore/v1/get_app_listing_response.proto similarity index 71% rename from accrescent/directory/v1/get_app_listing_response.proto rename to accrescent/appstore/v1/get_app_listing_response.proto index c8e6656..f4a72ab 100644 --- a/accrescent/directory/v1/get_app_listing_response.proto +++ b/accrescent/appstore/v1/get_app_listing_response.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/app_listing.proto"; +import "accrescent/appstore/v1/app_listing.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Response to requesting an app listing. message GetAppListingResponse { diff --git a/accrescent/directory/v1/get_app_package_info_request.proto b/accrescent/appstore/v1/get_app_package_info_request.proto similarity index 91% rename from accrescent/directory/v1/get_app_package_info_request.proto rename to accrescent/appstore/v1/get_app_package_info_request.proto index 8cc3972..81ab871 100644 --- a/accrescent/directory/v1/get_app_package_info_request.proto +++ b/accrescent/appstore/v1/get_app_package_info_request.proto @@ -4,12 +4,12 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Request defining parameters for retrieving an app's package info. message GetAppPackageInfoRequest { diff --git a/accrescent/directory/v1/get_app_package_info_response.proto b/accrescent/appstore/v1/get_app_package_info_response.proto similarity index 73% rename from accrescent/directory/v1/get_app_package_info_response.proto rename to accrescent/appstore/v1/get_app_package_info_response.proto index 2dd6c87..8158b8f 100644 --- a/accrescent/directory/v1/get_app_package_info_response.proto +++ b/accrescent/appstore/v1/get_app_package_info_response.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/package_info.proto"; +import "accrescent/appstore/v1/package_info.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Response to requesting an app's package info. message GetAppPackageInfoResponse { diff --git a/accrescent/appstore/v1/get_app_update_info_request.proto b/accrescent/appstore/v1/get_app_update_info_request.proto new file mode 100644 index 0000000..a7f76be --- /dev/null +++ b/accrescent/appstore/v1/get_app_update_info_request.proto @@ -0,0 +1,45 @@ +// Copyright 2025 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "accrescent/appstore/v1/device_attributes.proto"; +import "buf/validate/validate.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// Request defining parameters to retrieving an app's update info. +message GetAppUpdateInfoRequest { + // The application ID of the update info to retrieve. + optional string app_id = 1 [ + (buf.validate.field).required = true, + // According to + // https://developer.android.com/build/configure-app-module#set-application-id, + // the app ID must conform to the following rules: + // + // 1. It must have at least two segments (one or more dots). + // 2. Each segment must start with a letter. + // 3. All characters must be alphanumeric or an underscore [a-zA-Z0-9_]. + // + // The maximum length is imposed by us to set a reasonable limit. + (buf.validate.field).string = { + pattern: "^([a-zA-Z][a-zA-Z0-9_]*\\.)+[a-zA-Z][a-zA-Z0-9_]*$" + max_bytes: 128 + } + ]; + + // The current device's hardware and OS attributes used to determine app + // compatibility, download size, etc. + DeviceAttributes device_attributes = 2 [(buf.validate.field).required = true]; + + // The base version of the app to get update info from, i.e., the currently + // installed version. + optional uint64 base_version_code = 3 [ + (buf.validate.field).required = true, + (buf.validate.field).uint64.gt = 0 + ]; +} diff --git a/accrescent/appstore/v1/get_app_update_info_response.proto b/accrescent/appstore/v1/get_app_update_info_response.proto new file mode 100644 index 0000000..cc66e56 --- /dev/null +++ b/accrescent/appstore/v1/get_app_update_info_response.proto @@ -0,0 +1,18 @@ +// Copyright 2025 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "accrescent/appstore/v1/app_update_info.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// Response to requesting an app's update info. +message GetAppUpdateInfoResponse { + // The app's update info. Present if and only if the app is not up-to-date. + AppUpdateInfo app_update_info = 1; +} diff --git a/accrescent/directory/v1/image.proto b/accrescent/appstore/v1/image.proto similarity index 83% rename from accrescent/directory/v1/image.proto rename to accrescent/appstore/v1/image.proto index a1bfc24..7bcd1d9 100644 --- a/accrescent/directory/v1/image.proto +++ b/accrescent/appstore/v1/image.proto @@ -4,12 +4,12 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Graphical image to be displayed in client UI. message Image { diff --git a/accrescent/directory/v1/list_app_listings_request.proto b/accrescent/appstore/v1/list_app_listings_request.proto similarity index 92% rename from accrescent/directory/v1/list_app_listings_request.proto rename to accrescent/appstore/v1/list_app_listings_request.proto index 34329a3..4fbfa07 100644 --- a/accrescent/directory/v1/list_app_listings_request.proto +++ b/accrescent/appstore/v1/list_app_listings_request.proto @@ -4,10 +4,10 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Request defining parameters for retrieving multiple app listings. message ListAppListingsRequest { diff --git a/accrescent/directory/v1/list_app_listings_response.proto b/accrescent/appstore/v1/list_app_listings_response.proto similarity index 83% rename from accrescent/directory/v1/list_app_listings_response.proto rename to accrescent/appstore/v1/list_app_listings_response.proto index 5960b74..c714a6e 100644 --- a/accrescent/directory/v1/list_app_listings_response.proto +++ b/accrescent/appstore/v1/list_app_listings_response.proto @@ -4,13 +4,13 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; -import "accrescent/directory/v1/app_listing.proto"; +import "accrescent/appstore/v1/app_listing.proto"; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Response to requesting a list of app listings. message ListAppListingsResponse { diff --git a/accrescent/directory/v1/package_info.proto b/accrescent/appstore/v1/package_info.proto similarity index 85% rename from accrescent/directory/v1/package_info.proto rename to accrescent/appstore/v1/package_info.proto index afc6918..03e16ac 100644 --- a/accrescent/directory/v1/package_info.proto +++ b/accrescent/appstore/v1/package_info.proto @@ -4,12 +4,12 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Package information for a given app. message PackageInfo { diff --git a/accrescent/directory/v1/split_download_info.proto b/accrescent/appstore/v1/split_download_info.proto similarity index 86% rename from accrescent/directory/v1/split_download_info.proto rename to accrescent/appstore/v1/split_download_info.proto index fd3f9b8..c7bfac3 100644 --- a/accrescent/directory/v1/split_download_info.proto +++ b/accrescent/appstore/v1/split_download_info.proto @@ -4,12 +4,12 @@ syntax = "proto3"; -package accrescent.directory.v1; +package accrescent.appstore.v1; import "buf/validate/validate.proto"; option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; +option java_package = "app.accrescent.appstore.v1"; // Download info for an individual split APK. message SplitDownloadInfo { diff --git a/accrescent/appstore/v1/split_update_info.proto b/accrescent/appstore/v1/split_update_info.proto new file mode 100644 index 0000000..0db4179 --- /dev/null +++ b/accrescent/appstore/v1/split_update_info.proto @@ -0,0 +1,24 @@ +// Copyright 2025 Logan Magee +// +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package accrescent.appstore.v1; + +import "buf/validate/validate.proto"; + +option java_multiple_files = true; +option java_package = "app.accrescent.appstore.v1"; + +// Update info for an individual split APK. +message SplitUpdateInfo { + // The download size in bytes of this individual split APK. + optional uint32 apk_download_size = 1 [(buf.validate.field).required = true]; + + // The URL of the APK which can be retrieved with a simple HTTP GET. + optional string apk_url = 2 [ + (buf.validate.field).required = true, + (buf.validate.field).string.uri = true + ]; +} diff --git a/accrescent/directory/v1/compatibility.proto b/accrescent/directory/v1/compatibility.proto deleted file mode 100644 index a63d5e2..0000000 --- a/accrescent/directory/v1/compatibility.proto +++ /dev/null @@ -1,22 +0,0 @@ -// Copyright 2024 Logan Magee -// -// SPDX-License-Identifier: MPL-2.0 - -syntax = "proto3"; - -package accrescent.directory.v1; - -import "buf/validate/validate.proto"; - -option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; - -// Compatibility of an app with a given device specification. -message Compatibility { - // Whether the app is compatible with the provided device attributes. - // - // If the app is compatible, it should install and run successfully. If it is - // not, installation should not be attempted because the app is fundamentally - // incompatible with the provided device attributes in a crucial way. - optional bool compatible = 1 [(buf.validate.field).required = true]; -} diff --git a/accrescent/directory/v1/directory_service.proto b/accrescent/directory/v1/directory_service.proto deleted file mode 100644 index 3537f96..0000000 --- a/accrescent/directory/v1/directory_service.proto +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright 2024 Logan Magee -// -// SPDX-License-Identifier: MPL-2.0 - -syntax = "proto3"; - -package accrescent.directory.v1; - -import "accrescent/directory/v1/get_app_download_info_request.proto"; -import "accrescent/directory/v1/get_app_download_info_response.proto"; -import "accrescent/directory/v1/get_app_listing_request.proto"; -import "accrescent/directory/v1/get_app_listing_response.proto"; -import "accrescent/directory/v1/get_app_package_info_request.proto"; -import "accrescent/directory/v1/get_app_package_info_response.proto"; -import "accrescent/directory/v1/list_app_listings_request.proto"; -import "accrescent/directory/v1/list_app_listings_response.proto"; - -option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; - -// Service providing a directory of all Accrescent apps. -service DirectoryService { - // Retrieves a single app's listing. - rpc GetAppListing(GetAppListingRequest) returns (GetAppListingResponse); - - // Retrieves a list of unique app listings. - rpc ListAppListings(ListAppListingsRequest) returns (ListAppListingsResponse); - - // Retrieves an app's package information. - rpc GetAppPackageInfo(GetAppPackageInfoRequest) returns (GetAppPackageInfoResponse); - - // Retrieves an app's download information. - rpc GetAppDownloadInfo(GetAppDownloadInfoRequest) returns (GetAppDownloadInfoResponse); -} diff --git a/accrescent/directory/v1/get_app_download_info_response.proto b/accrescent/directory/v1/get_app_download_info_response.proto deleted file mode 100644 index eb2838c..0000000 --- a/accrescent/directory/v1/get_app_download_info_response.proto +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright 2024 Logan Magee -// -// SPDX-License-Identifier: MPL-2.0 - -syntax = "proto3"; - -package accrescent.directory.v1; - -import "accrescent/directory/v1/app_download_info.proto"; -import "accrescent/directory/v1/compatibility.proto"; -import "buf/validate/validate.proto"; - -option java_multiple_files = true; -option java_package = "app.accrescent.directory.v1"; - -// Response to requesting an app's download info. -message GetAppDownloadInfoResponse { - // Compatibility information between the app and the device attributes - // specified in the request. - Compatibility compatibility = 1 [(buf.validate.field).required = true]; - - // The app's download info. This field will be populated if and only if all of - // the following statements apply: - // - // 1. The app is compatible with the device specified in the request (as can - // be determined by this message's "compatibility" field). - // 2. If base_version_code was specified in the request, it is lower than the - // latest version code of the app. - // - // In other words, it will only be populated if there are APKs available for - // download which are newer than those specified in the request. - AppDownloadInfo app_download_info = 2; - - option (buf.validate.message).cel = { - id: "app_download_info.not_present_if_incompatible" - message: "app download info must not be present if the app is incompatible" - expression: "this.compatibility.compatible || !has(this.app_download_info)" - }; -} diff --git a/buf.yaml b/buf.yaml index 82cb295..2a1a2ab 100644 --- a/buf.yaml +++ b/buf.yaml @@ -5,7 +5,7 @@ version: v2 modules: - path: . - name: buf.build/accrescent/directory-api + name: buf.build/accrescent/appstore-api deps: - buf.build/accrescent/android-bundle:v1.1.0 - buf.build/bufbuild/protovalidate:v1.0.0