Skip to content

Commit 09bc4c2

Browse files
authored
Merge branch 'main' into mila/expressions-logical
2 parents d7f2e68 + f82d304 commit 09bc4c2

21 files changed

Lines changed: 1766 additions & 124 deletions

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ applications that interact with individual Google Cloud services:
8686
| [Key Management Service](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-kms) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/kms)](https://npm.im/@google-cloud/kms) |
8787
| [Kubernetes Engine Cluster Manager API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-container) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/container)](https://npm.im/@google-cloud/container) |
8888
| [Live Stream API](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-video-livestream) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/livestream)](https://npm.im/@google-cloud/livestream) |
89-
| [Logging](https://github.com/googleapis/nodejs-logging) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/logging)](https://npm.im/@google-cloud/logging) |
9089
| [Logging for Winston](https://github.com/googleapis/nodejs-logging-winston) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/logging-winston)](https://npm.im/@google-cloud/logging-winston) |
9190
| [Managed Service for Microsoft Active Directory](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-managedidentities) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/managed-identities)](https://npm.im/@google-cloud/managed-identities) |
9291
| [Media Translation](https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-mediatranslation) | [![Stable][stable-stability]][launch-stages] | [![npm](https://img.shields.io/npm/v/@google-cloud/media-translation)](https://npm.im/@google-cloud/media-translation) |

libraries.json

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,24 +1400,6 @@
14001400
"linkToRepoHomepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-video-livestream",
14011401
"support_documentation": "https://cloud.google.com/livestream/docs/getting-support"
14021402
},
1403-
{
1404-
"client_documentation": "https://cloud.google.com/nodejs/docs/reference/logging/latest",
1405-
"product_documentation": "https://cloud.google.com/logging/docs",
1406-
"name": "logging",
1407-
"codeowner_team": "@googleapis/yoshi-nodejs",
1408-
"release_level": "stable",
1409-
"language": "nodejs",
1410-
"api_id": "logging.googleapis.com",
1411-
"distribution_name": "@google-cloud/logging",
1412-
"repo": "googleapis/nodejs-logging",
1413-
"issue_tracker": "https://issuetracker.google.com/savedsearches/559764",
1414-
"name_pretty": "Logging",
1415-
"default_version": "v2",
1416-
"api_shortname": "logging",
1417-
"library_type": "GAPIC_COMBO",
1418-
"linkToRepoHomepage": "https://github.com/googleapis/nodejs-logging",
1419-
"support_documentation": "https://cloud.google.com/logging/docs/getting-support"
1420-
},
14211403
{
14221404
"name": "logging-winston",
14231405
"name_pretty": "Logging for Winston",

package.json

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
},
99
"type": "module",
1010
"scripts": {
11-
"fix": "semistandard --fix",
12-
"test": "semistandard",
11+
"fix": "echo nothing to fix",
12+
"test": "echo nothing to test",
1313
"test-generate": "SMOKE_TEST=true node ./bin/generate-readme.mjs",
1414
"generate": "./bin/generate-readme.mjs",
15-
"lint": "semistandard",
16-
"clean": "gts clean",
17-
"precompile": "gts clean",
18-
"system-test": "echo no system tests 😱",
19-
"samples-test": "echo no sample tests 😱"
15+
"lint": "echo nothing to lint",
16+
"clean": "echo nothing to clean",
17+
"precompile": "echo nothing to precompile",
18+
"system-test": "echo nothing to system test",
19+
"samples-test": "echo nothing to sample test"
2020
},
2121
"repository": {
2222
"type": "git",
@@ -39,9 +39,7 @@
3939
"gaxios": "^7.0.0-rc",
4040
"parse-link-header": "^2.0.0"
4141
},
42-
"devDependencies": {
43-
"semistandard": "^17.0.0"
44-
},
42+
"devDependencies": {},
4543
"engines": {
4644
"node": ">=18"
4745
}

packages/google-cloud-aiplatform/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
// This file is handwritten since this library has many custom handwritten files
23
"extends": "./node_modules/gts/tsconfig-google.json",
34
"compilerOptions": {
45
"rootDir": ".",

packages/google-cloud-dns/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
// This file is handwritten since this library is also handwritten
23
"extends": "./node_modules/gts/tsconfig-google.json",
34
"compilerOptions": {
45
"lib": [

packages/google-cloud-tasks/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
// This file is handwritten since this library has a dual-publication setup (ESM and CJS)
23
"extends": "./node_modules/gts/tsconfig-google.json",
34
"compilerOptions": {
45
"rootDir": ".",

packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1/productinputs.proto

Lines changed: 86 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -39,11 +39,11 @@ service ProductInputsService {
3939
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/content";
4040

4141
// [Uploads a product input to your Merchant Center
42-
// account](/merchant/api/guides/products/overview#upload-product-input). You
42+
// account](/merchant/api/guides/products/add-manage#add_a_product). You
4343
// must have a products [data
44-
// source](/merchant/api/guides/data-sources/overview) to be able to insert a
45-
// product. The unique identifier of the data source is passed as a query
46-
// parameter in the request URL.
44+
// source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source)
45+
// to be able to insert a product. The unique identifier of the data source is
46+
// passed as a query parameter in the request URL.
4747
//
4848
// If a product input with the same contentLanguage, offerId, and dataSource
4949
// already exists, then the product input inserted by this method replaces
@@ -59,6 +59,8 @@ service ProductInputsService {
5959
}
6060

6161
// Updates the existing product input in your Merchant Center account.
62+
// The name of the product input to update is taken from the `name` field
63+
// within the `ProductInput` resource.
6264
//
6365
// After inserting, updating, or deleting a product input, it may take several
6466
// minutes before the processed product can be retrieved.
@@ -117,16 +119,44 @@ message ProductInput {
117119
singular: "productInput"
118120
};
119121

120-
// Identifier. The name of the product input.
122+
// Identifier. The name of the product.
121123
// Format: `accounts/{account}/productInputs/{productinput}`
122-
// where the last section `productinput` consists of:
123-
// `content_language~feed_label~offer_id`
124-
// example for product input name is
125-
// `accounts/123/productInputs/en~US~sku123`. A legacy local product input
126-
// name would be `accounts/123/productInputs/local~en~US~sku123`.
127-
// Note: For calls to the v1beta version, the `productInput` section consists
128-
// of: `channel~content_language~feed_label~offer_id`, for example:
129-
// `accounts/123/productInputs/online~en~US~sku123`.
124+
//
125+
// The {productinput} segment is a unique identifier for the product.
126+
// This identifier must be unique within a merchant account and generally
127+
// follows the structure: `content_language~feed_label~offer_id`. Example:
128+
// `en~US~sku123` For legacy local products, the structure is:
129+
// `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123`
130+
//
131+
// The format of the {productinput} segment in the URL is automatically
132+
// detected by the server, supporting two options:
133+
//
134+
// 1. **Encoded Format**: The `{productinput}` segment is an unpadded
135+
// base64url
136+
// encoded string (RFC 4648 Section 5). The decoded string must result
137+
// in the `content_language~feed_label~offer_id` structure. This encoding
138+
// MUST be used if any part of the product identifier (like `offer_id`)
139+
// contains characters such as `/`, `%`, or `~`.
140+
// * Example: To represent the product ID `en~US~sku/123`, the
141+
// `{productinput}` segment must be the base64url encoding of this
142+
// string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name
143+
// for the product would be
144+
// `accounts/123/productinputs/ZW5-VVMtc2t1LzEyMw`.
145+
//
146+
// 2. **Plain Format**: The `{productinput}` segment is the tilde-separated
147+
// string
148+
// `content_language~feed_label~offer_id`. This format is suitable only
149+
// when `content_language`, `feed_label`, and `offer_id` do not contain
150+
// URL-problematic characters like `/`, `%`, or `~`.
151+
//
152+
// We recommend using the **Encoded Format** for all product IDs to ensure
153+
// correct parsing, especially those containing special characters. The
154+
// presence of tilde (`~`) characters in the `{productinput}` segment is used
155+
// to differentiate between the two formats.
156+
//
157+
// Note: For calls to the v1beta version, the plain format is
158+
// `channel~content_language~feed_label~offer_id`, for example:
159+
// `accounts/123/productinputs/online~en~US~sku123`.
130160
string name = 1 [(google.api.field_behavior) = IDENTIFIER];
131161

132162
// Output only. The name of the processed product.
@@ -227,8 +257,8 @@ message InsertProductInputRequest {
227257
// Required. The primary or supplemental product data source name. If the
228258
// product already exists and data source provided is different, then the
229259
// product will be moved to a new data source. For more information, see
230-
// [Overview of Data sources
231-
// sub-API](/merchant/api/guides/data-sources/overview).
260+
// [Create a primary data
261+
// source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source).
232262
//
233263
// Only API data sources are supported.
234264
//
@@ -243,7 +273,8 @@ message InsertProductInputRequest {
243273
// input must be from the same data source.
244274
message UpdateProductInputRequest {
245275
// Required. The product input resource to update. Information you submit will
246-
// be applied to the processed product as well.
276+
// be applied to the processed product as well. The `name` field within this
277+
// resource identifies the product input to be updated.
247278
ProductInput product_input = 1 [(google.api.field_behavior) = REQUIRED];
248279

249280
// Optional. The list of product attributes to be updated.
@@ -276,12 +307,44 @@ message UpdateProductInputRequest {
276307

277308
// Request message for the DeleteProductInput method.
278309
message DeleteProductInputRequest {
279-
// Required. The name of the product input resource to delete.
280-
// Format: `accounts/{account}/productInputs/{product}`
281-
// where the last section `product` consists of:
282-
// `content_language~feed_label~offer_id`
283-
// example for product name is
284-
// `accounts/123/productInputs/en~US~sku123`.
310+
// Required. The name of the product input to delete.
311+
// Format: `accounts/{account}/productInputs/{productInput}`
312+
//
313+
// The {productInput} segment is a unique identifier for the product.
314+
// This identifier must be unique within a merchant account and generally
315+
// follows the structure: `content_language~feed_label~offer_id`. Example:
316+
// `en~US~sku123` For legacy local products, the structure is:
317+
// `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123`
318+
//
319+
// The format of the {productInput} segment in the URL is automatically
320+
// detected by the server, supporting two options:
321+
//
322+
// 1. **Encoded Format**: The `{productInput}` segment is an unpadded
323+
// base64url
324+
// encoded string (RFC 4648 Section 5). The decoded string must result
325+
// in the `content_language~feed_label~offer_id` structure. This encoding
326+
// MUST be used if any part of the product identifier (like `offer_id`)
327+
// contains characters such as `/`, `%`, or `~`.
328+
// * Example: To represent the product ID `en~US~sku/123`, the
329+
// `{productInput}` segment must be the base64url encoding of this
330+
// string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name
331+
// for the product would be
332+
// `accounts/123/productInputs/ZW5-VVMtc2t1LzEyMw`.
333+
//
334+
// 2. **Plain Format**: The `{productInput}` segment is the tilde-separated
335+
// string
336+
// `content_language~feed_label~offer_id`. This format is suitable only
337+
// when `content_language`, `feed_label`, and `offer_id` do not contain
338+
// URL-problematic characters like `/`, `%`, or `~`.
339+
//
340+
// We recommend using the **Encoded Format** for all product IDs to ensure
341+
// correct parsing, especially those containing special characters. The
342+
// presence of tilde (`~`) characters in the `{productInput}` segment is used
343+
// to differentiate between the two formats.
344+
//
345+
// Note: For calls to the v1beta version, the plain format is
346+
// `channel~content_language~feed_label~offer_id`, for example:
347+
// `accounts/123/productinputs/online~en~US~sku123`.
285348
string name = 1 [
286349
(google.api.field_behavior) = REQUIRED,
287350
(google.api.resource_reference) = {

packages/google-shopping-merchant-products/protos/google/shopping/merchant/products/v1/products.proto

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2025 Google LLC
1+
// Copyright 2026 Google LLC
22
//
33
// Licensed under the Apache License, Version 2.0 (the "License");
44
// you may not use this file except in compliance with the License.
@@ -164,16 +164,42 @@ message Product {
164164

165165
// Request message for the GetProduct method.
166166
message GetProductRequest {
167-
// Required. The name of the product to retrieve.
168-
// Format:
169-
// `accounts/{account}/products/{product}` where the last
170-
// section `product` consists of:
171-
// `content_language~feed_label~offer_id`
172-
// example for product name is `accounts/123/products/en~US~sku123`. A legacy
173-
// local product name would be `accounts/123/products/local~en~US~sku123`.
174-
// Note: For calls to the v1beta version, the `product` section consists
175-
// of: `channel~content_language~feed_label~offer_id`, for example:
176-
// `accounts/123/products/online~en~US~sku123`.
167+
// Required. The name of the product.
168+
// Format: `accounts/{account}/products/{product}`
169+
//
170+
// The `{product}` segment is a unique identifier for the product.
171+
// This identifier must be unique within a merchant account and generally
172+
// follows the structure: `content_language~feed_label~offer_id`. Example:
173+
// `en~US~sku123` For legacy local products, the structure is:
174+
// `local~content_language~feed_label~offer_id`. Example: `local~en~US~sku123`
175+
//
176+
// The format of the `{product}` segment in the URL is automatically detected
177+
// by the server, supporting two options:
178+
//
179+
// 1. **Encoded Format**: The `{product}` segment is an unpadded base64url
180+
// encoded string (RFC 4648 Section 5). The decoded string must result
181+
// in the `content_language~feed_label~offer_id` structure. This encoding
182+
// MUST be used if any part of the product identifier (like `offer_id`)
183+
// contains characters such as `/`, `%`, or `~`.
184+
// * Example: To represent the product ID `en~US~sku/123`, the
185+
// `{product}` segment must be the base64url encoding of this
186+
// string, which is `ZW5-VVMtc2t1LzEyMw`. The full resource name
187+
// for the product would be
188+
// `accounts/123/products/ZW5-VVMtc2t1LzEyMw`.
189+
//
190+
// 2. **Plain Format**: The `{product}` segment is the tilde-separated string
191+
// `content_language~feed_label~offer_id`. This format is suitable only
192+
// when `content_language`, `feed_label`, and `offer_id` do not contain
193+
// URL-problematic characters like `/`, `%`, or `~`.
194+
//
195+
// We recommend using the **Encoded Format** for all product IDs to ensure
196+
// correct parsing, especially those containing special characters. The
197+
// presence of tilde (`~`) characters in the `{product}` segment is used to
198+
// differentiate between the two formats.
199+
//
200+
// Note: For calls to the v1beta version, the plain format is
201+
// `channel~content_language~feed_label~offer_id`, for example:
202+
// `accounts/123/products/online~en~US~sku123`.
177203
string name = 1 [
178204
(google.api.field_behavior) = REQUIRED,
179205
(google.api.resource_reference) = {

0 commit comments

Comments
 (0)